SPLRR92400_말라리아검사의뢰서등록.xfdl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPLRR92400" position="absolute 0 0 468 287" titletext="세포유전학검사 의뢰서 등록" onload="SPLRR92400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 460 246" id="group1" scrollbars="none">
  8. <Layouts>
  9. <Layout>
  10. <Static text="Malaria 검사의뢰서" position="absolute 0 6 198 31" id="caption5" class="tit_1" anchor="default"/>
  11. <Shape position="absolute 0 32 455 36" linetype="horizontal" id="line1" class="line_1" anchor="default" style="border:2 solid cadetblue ;color:darkcyan;"/>
  12. <Static text="Fever cycle" position="absolute 0 39 110 62" align="align:left middle;" id="caption25" class="cell_1" anchor="default"/>
  13. <Static text="Brief history" position="absolute 0 64 110 213" align="align:left middle;" id="caption1" class="cell_1" anchor="default"/>
  14. <Shape position="absolute 0 60 455 66" linetype="horizontal" id="line3" class="line_3" anchor="default"/>
  15. <Shape position="absolute 0 211 455 217" linetype="horizontal" id="line9" class="line_3" anchor="default"/>
  16. <Shape position="absolute 0 234 455 240" linetype="horizontal" id="line17" class="line_3" anchor="default"/>
  17. <Radio position="absolute 115 39 305 59" id="radio1" columncount="3" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="group1_radio1_onitemchanged" anchor="default">
  18. <Dataset id="innerdataset">
  19. <ColumnInfo>
  20. <Column id="codecolumn"/>
  21. <Column id="datacolumn"/>
  22. </ColumnInfo>
  23. <Rows>
  24. <Row>
  25. <Col id="codecolumn">3days</Col>
  26. <Col id="datacolumn">3days</Col>
  27. </Row>
  28. <Row>
  29. <Col id="codecolumn">4days</Col>
  30. <Col id="datacolumn">4days</Col>
  31. </Row>
  32. <Row>
  33. <Col id="codecolumn">기타</Col>
  34. <Col id="datacolumn">기타</Col>
  35. </Row>
  36. </Rows>
  37. </Dataset>
  38. </Radio>
  39. <Edit position="absolute 315 39 455 58" id="input1" anchor="default"/>
  40. <TextArea position="absolute 115 64 455 209" id="textarea1" anchor="default"/>
  41. <Static text="Fever" position="absolute 0 214 110 237" align="align:left middle;" id="caption2" class="cell_1" anchor="default"/>
  42. <Radio position="absolute 120 214 295 234" id="radio2" columncount="3" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default">
  43. <Dataset id="innerdataset">
  44. <ColumnInfo>
  45. <Column id="codecolumn"/>
  46. <Column id="datacolumn"/>
  47. </ColumnInfo>
  48. <Rows>
  49. <Row>
  50. <Col id="codecolumn">전</Col>
  51. <Col id="datacolumn">전</Col>
  52. </Row>
  53. <Row>
  54. <Col id="codecolumn">중</Col>
  55. <Col id="datacolumn">중</Col>
  56. </Row>
  57. <Row>
  58. <Col id="codecolumn">후</Col>
  59. <Col id="datacolumn">후</Col>
  60. </Row>
  61. </Rows>
  62. </Dataset>
  63. </Radio>
  64. </Layout>
  65. </Layouts>
  66. </Div>
  67. <Div position="absolute 0 245 455 275" id="group3" scrollbars="none">
  68. <Layouts>
  69. <Layout>
  70. <Button position="absolute 394 5 450 27" id="btn_close" class="btn4" text="닫기" onclick="group3_btn_close_onclick" anchor="default"/>
  71. <Button position="absolute 335 5 391 27" id="btn_save" class="btn4" text="확인" onclick="group3_btn_save_onclick" anchor="default"/>
  72. </Layout>
  73. </Layouts>
  74. </Div>
  75. </Layout>
  76. </Layouts>
  77. <Objects>
  78. <Dataset id="ds_reqfrminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  79. <ColumnInfo>
  80. <Column id="reqcnts" type="STRING" size="256"/>
  81. <Column id="inptitem01" type="STRING" size="256"/>
  82. <Column id="inptitem02" type="STRING" size="256"/>
  83. <Column id="inptitem03" type="STRING" size="256"/>
  84. <Column id="inptitem04" type="STRING" size="256"/>
  85. <Column id="etc" type="STRING" size="256"/>
  86. <Column id="claim" type="STRING" size="256"/>
  87. </ColumnInfo>
  88. <Rows>
  89. <Row>
  90. <Col id="reqcnts">일반적인 난소 나이 평가를 위해</Col>
  91. <Col id="inptitem01">있다</Col>
  92. <Col id="inptitem02"/>
  93. <Col id="inptitem03"/>
  94. <Col id="inptitem04"/>
  95. <Col id="etc"/>
  96. <Col id="claim"/>
  97. </Row>
  98. </Rows>
  99. </Dataset>
  100. <Dataset id="ds_rtnvalinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  101. <ColumnInfo>
  102. <Column id="reqno" type="STRING" size="256"/>
  103. <Column id="instcd" type="STRING" size="256"/>
  104. </ColumnInfo>
  105. </Dataset>
  106. <Dataset id="ds_hidden_reqfrminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  107. <ColumnInfo>
  108. <Column id="pid" type="STRING" size="256"/>
  109. <Column id="prcpcd" type="STRING" size="256"/>
  110. <Column id="prcpnm" type="STRING" size="256"/>
  111. <Column id="opnm" type="STRING" size="256"/>
  112. <Column id="spccd" type="STRING" size="256"/>
  113. <Column id="spcnm" type="STRING" size="256"/>
  114. <Column id="reqno" type="STRING" size="256"/>
  115. <Column id="reqhistno" type="STRING" size="256"/>
  116. </ColumnInfo>
  117. <Rows>
  118. <Row>
  119. <Col id="pid"/>
  120. <Col id="prcpcd"/>
  121. <Col id="prcpnm"/>
  122. <Col id="opnm"/>
  123. <Col id="spccd"/>
  124. <Col id="spcnm"/>
  125. <Col id="reqno"/>
  126. <Col id="reqhistno"/>
  127. </Row>
  128. </Rows>
  129. </Dataset>
  130. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  131. </Objects>
  132. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  133. * System Name :
  134. * Job Name :
  135. * Creator :
  136. * Make Date : 2015-05-27
  137. * Description :
  138. *---------------------------------------------------------------------------------------
  139. * Modify Date Modifier Modify Description
  140. *---------------------------------------------------------------------------------------
  141. * 2015-05-27 Live Converter TF->XP
  142. *
  143. *---------------------------------------------------------------------------------------
  144. ****************************************************************************************/
  145. include "com_commonxp::comm_main.xjs";
  146. var objDomParser;
  147. var objDOM;
  148. var arErrorCode = new HashArray();
  149. function cbf_SPLRR92400(sSvcId, nErrorCode, sErrorMsg) {
  150. if(nErrorCode < 0) return;
  151. }
  152. function fExeInitialize() {
  153. objDomParser = new DomParser;
  154. objDOM = objDomParser.parseFromString("<reqfrminfo></reqfrminfo>");
  155. //----------------------------------------------------------------
  156. // 처방등록 화면에서 호출되지 않는 경우는 "저장" 기능을 비 활성화 처리
  157. if (ds_hidden_reqfrminfo.getColumn(0,"scrnno") == "10") {
  158. group3.btn_save.visible = true;
  159. } else {
  160. group3.btn_save.visible = false;
  161. }
  162. fchange();
  163. //----------------------------------------------
  164. // 의뢰지번호가 존재할 경우 의뢰지내용을 조회한다.
  165. if(utlf_isNull(ds_hidden_reqfrminfo.getColumn(0,"reqcnts"))) { //내용이 없다
  166. if (ds_hidden_reqfrminfo.getColumn(0,"reqno") != "0") { //의뢰지번호 존재시
  167. dsf_makeValue(ds_send,"instcd", "string",sysf_getUserInfo("dutplceinstcd"));
  168. dsf_makeValue(ds_send,"pid", "string", ds_hidden_reqfrminfo.getColumn(0,"pid"));
  169. dsf_makeValue(ds_send,"reqno", "string", ds_hidden_reqfrminfo.getColumn(0,"reqno"));
  170. var oParam = {};
  171. oParam.id = "TRLRR90201";
  172. oParam.service = "diagtestapplib.LisCommon";
  173. oParam.method = "reqGetReqFrmInfo";
  174. oParam.inds = "refData=ds_send";
  175. oParam.outds = "ds_reqfrminfo=refrslt";
  176. oParam.async = false;
  177. oParam.callback = "cbf_SPLRR92400";
  178. tranf_submit(oParam);
  179. fsetData();
  180. } else { //의뢰지 번호 없어.!
  181. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem01", "");
  182. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem02", "");
  183. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem03", "");
  184. rptf_setValueToDOM(objDOM, "/reqfrminfo/reqcnts", "");
  185. ds_hidden_reqfrminfo.setColumn(0,"reqno", "0");
  186. }
  187. } else { //내용이 있다(ex> 특수에서 의뢰서 띄울때 처럼)
  188. var nRow = ds_reqfrminfo.addRow();
  189. ds_reqfrminfo.setColumn(nRow, "reqcnts", ds_hidden_reqfrminfo.getColumn(0, "reqcnts"));
  190. fsetData();
  191. }
  192. }
  193. function fchange(){
  194. if(group1.radio1.value == "기타"){
  195. group1.input1.enable = true;
  196. }else{
  197. group1.input1.enable = false;
  198. }
  199. }
  200. function fsetData(){
  201. objDomParser = new DomParser;
  202. objDOM = objDomParser.parseFromString(ds_reqfrminfo.getColumn(0, "reqcnts"));
  203. group1.radio1.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem01");
  204. group1.input1.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/etc");
  205. group1.textarea1.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem02");
  206. group1.radio2.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem03");
  207. }
  208. function fmakeData(){
  209. rptf_setValueToDOM(objDOM,"/reqfrminfo/inptitem01",utlf_transNullToEmpty(group1.radio1.value));
  210. rptf_setValueToDOM(objDOM,"/reqfrminfo/etc", utlf_transNullToEmpty(group1.input1.value));
  211. rptf_setValueToDOM(objDOM,"/reqfrminfo/inptitem02",utlf_transNullToEmpty(group1.textarea1.value));
  212. rptf_setValueToDOM(objDOM,"/reqfrminfo/inptitem03",utlf_transNullToEmpty(group1.radio2.value));
  213. }
  214. // 확인버튼 클릭시 저장
  215. function fExeClinicSave(){
  216. //var strNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  217. //var node = instance1.selectSingleNode("/root/main/reqfrm/reqfrmtbl/reqfrminfo"); //xml 저장을 위해 노드로 만듬
  218. if(utlf_isNull(group1.radio1.value)){
  219. sysf_messageBox("Fever cycle은 필수 입력 사항입니다", "E");
  220. return;
  221. }
  222. if(utlf_isNull(group1.textarea1.value)){
  223. sysf_messageBox("Brief history는 필수 입력 사항입니다", "E");
  224. return;
  225. }
  226. if(utlf_isNull(group1.radio2.value)){
  227. sysf_messageBox("Fever는 필수 입력 사항입니다", "E");
  228. return;
  229. }
  230. fmakeData();
  231. // 검체 추가정보 설정
  232. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/choi", "true");
  233. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spcseqno", "001");
  234. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spccd", ds_hidden_reqfrminfo.getColumn(0,"spccd"));
  235. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spccd2", ds_hidden_reqfrminfo.getColumn(0,"spccd"));
  236. var objParam = new Object();
  237. objParam.xml_data_XML1 = objDOM.documentElement.source;
  238. ds_send.clear();
  239. dsf_makeValue(ds_send,"pid", "string", ds_hidden_reqfrminfo.getColumn(0,"pid"));
  240. dsf_makeValue(ds_send,"reqno", "string", ds_hidden_reqfrminfo.getColumn(0,"reqno"));
  241. dsf_makeValue(ds_send,"reqcnts", "string", objParam.xml_data_XML1.replace("<![CDATA[","").replace("]]]]><![CDATA[>",""));
  242. dsf_makeValue(ds_send,"instcd", "string", sysf_getUserInfo("dutplceinstcd"));
  243. //------------------------
  244. var oParam = {};
  245. oParam.id = "TXLRR90201";
  246. oParam.service = "diagtestapplib.LisCommon";
  247. oParam.method = "reqExeReqFrmInfo";
  248. oParam.inds = "refData=ds_send";
  249. oParam.outds = "ds_rtnvalinfo=reflist";
  250. oParam.transaction = true;
  251. oParam.async = false;
  252. oParam.callback = "cf_TXLRR90201";
  253. tranf_submit(oParam);
  254. if (arErrorCode.pop("TXLRR90201") < 0) {
  255. sysf_messageBox("의뢰지 저장을", "E009");
  256. return false;
  257. }
  258. //------------------
  259. // 의뢰지번호 Return
  260. opener.ds_hidden_reqfrminfo.setColumn(0,"reqno", ds_rtnvalinfo.getColumn(0,"reqno"));
  261. //------------
  262. close();
  263. }
  264. function cf_TXLRR90201(sSvcId, nErrorCode, sErrorMsg) {
  265. arErrorCode.push(sSvcId, nErrorCode);
  266. }
  267. // 닫기
  268. function fSetClose(){
  269. close();
  270. }
  271. function SPLRR92400_onload(obj:Form, e:LoadEventInfo)
  272. {
  273. frmf_initForm(obj);
  274. ds_hidden_reqfrminfo.copyData(arg_ds_hidden_reqfrminfo);
  275. fExeInitialize();
  276. }
  277. function group1_radio1_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  278. {
  279. fchange();
  280. }
  281. function group3_btn_close_onclick(obj:Button, e:ClickEventInfo)
  282. {
  283. fSetClose();
  284. }
  285. function group3_btn_save_onclick(obj:Button, e:ClickEventInfo)
  286. {
  287. fExeClinicSave();
  288. }
  289. ]]></Script>
  290. </Form>
  291. </FDL>