SPMQP00300_CPG속성관리.xrw 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>CPG 속성관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <cond>
  11. <toggle/>
  12. <inpttypecd>G</inpttypecd>
  13. <alertcdflag/>
  14. <cpgno/>
  15. <cpghistseq/>
  16. <condbutton/>
  17. </cond>
  18. </main>
  19. <send>
  20. <reqdata/>
  21. <savedata>
  22. <monlist/>
  23. <inqrlist/>
  24. <limittimelist/>
  25. </savedata>
  26. </send>
  27. <init>
  28. <stepinfo>
  29. <step/>
  30. </stepinfo>
  31. <M0505/>
  32. <M0506/>
  33. <M0507/>
  34. <M0508/>
  35. <M0509/>
  36. <M0510/>
  37. <M0511/>
  38. <M0512/>
  39. <M0513/>
  40. <M0514/>
  41. <M0515/>
  42. <M0516/>
  43. <M0518/>
  44. <M0606/>
  45. <P0313/>
  46. <cpginfo/>
  47. </init>
  48. <hidden>
  49. <target/>
  50. <target_desc>조건구분 병실 선택 시 리턴값</target_desc>
  51. </hidden>
  52. </root>
  53. </instance>
  54. <script type="javascript" ev:event="xforms-model-construct-done">
  55. <![CDATA[
  56. window.modelesstopmost = true;
  57. zbcfGetCodeList(new Array("M0505", "M0506", "M0507", "M0508", "M0509", "M0510", "M0511", "M0512", "M0513", "M0514", "M0515", "M0516", "M0518", "M0606", "P0313")
  58. , new Array("/root/init/M0505", "/root/init/M0506", "/root/init/M0507", "/root/init/M0508", "/root/init/M0509", "/root/init/M0510", "/root/init/M0511", "/root/init/M0512", "/root/init/M0513", "/root/init/M0514", "/root/init/M0515", "/root/init/M0516", "/root/init/M0518", "/root/init/M0606", "/root/init/P0313"));
  59. //팝업관리에 용도 재설정
  60. model.makeNode("/root/init/M0516_2");
  61. copyNodeListType("/root/init/M0516_2", "/root/init/M0516/M0516[cdid='R' or cdid='D']", "replace", model, model);
  62. model.removeNodeset("/root/init/M0516/M0516[cdid='R' or cdid='D']");
  63. model.copyNode("/root/init/cpginfo", opener.root.main.masterinfo.info);
  64. //빈 step Row를 생성하기 위해 1줄만 우선 copy, 내용은 비운다 --2009.02.15 JJE
  65. copyNodeListType("/root/init/stepinfo", "root/main/sortedsteplist/info[1]", "replace", model, opener.model);
  66. model.resetInstanceNode("/root/init/stepinfo/info");
  67. //모든 step 정보 copy
  68. copyNodeListType("/root/init/stepinfo", "root/main/sortedsteplist/info", "after", model, opener.model);
  69. ]]>
  70. </script>
  71. <script type="javascript" ev:event="xforms-ready">
  72. <![CDATA[
  73. //## 관리자 여부 체크
  74. cpgadminYN = opener.model.getValue("/root/temp/getdata/authflag");
  75. // CPG 속성관리의 열릴 탭을 선택한다. --파라메터 전달방식으로 수정 JJE
  76. cpgattadmin = opener.window.javascript.getParameter("cpgattadmin");
  77. //특정 스텝에 대한 속성 조회 시 스텝 번호 셋팅 --JJE (모니터링 import화면에서 해당 값 활용하기때문에 파라메터로 처리했음...)
  78. stepattadmin = opener.window.javascript.getParameter("stepattadmin");
  79. //## 관리자만 적용 버튼 활성화 20100426 KHJ
  80. if (cpgadminYN == "M") btn_attrapp.visible = true;
  81. else btn_attrapp.visible = false;
  82. if (cpgattadmin =="A") {
  83. model.toggle("case1");
  84. btn_monitoring.selected = true;
  85. model.setValue(root.main.cond.toggle, "A");
  86. fSelStepMntrInfo();
  87. } else if (cpgattadmin =="B") {
  88. model.toggle("case2");
  89. btn_monitoring.selected = true;
  90. btn_popup.selected = true;
  91. model.setValue(root.main.cond.toggle, "B");
  92. } else if (cpgattadmin =="C") {
  93. model.toggle("case3");
  94. btn_limitime.selected = true;
  95. model.setValue(root.main.cond.toggle, "C");
  96. fSelStepLimtInfo();
  97. } else {
  98. model.toggle("case1");
  99. btn_monitoring.selected = true;
  100. model.setValue(root.main.cond.toggle, "A");
  101. fSelStepMntrInfo();
  102. }
  103. var cpghistseq = model.getValue("/root/init/cpginfo/cpghistseq");
  104. var cpgno = model.getValue("/root/init/cpginfo/cpgno");
  105. model.setValue("/root/main/cond/cpghistseq" , cpghistseq);
  106. model.setValue("/root/main/cond/cpgno" , cpgno);
  107. model.copyNode("/root/send/reqdata", "/root/main/cond");
  108. model.refresh();
  109. ]]>
  110. </script>
  111. <!-- 해당 xml 파일 삭제처리할것!
  112. <submission id="TXMQP00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root/hidden"/>
  113. <submission id="TRMQP00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/init/stepinfo"/>
  114. <submission id="TXMMD06101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata/monlist" resultref="/root/main/mntrinfo"/>
  115. -->
  116. </model>
  117. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  118. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  119. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  120. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  121. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  122. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  123. <script type="javascript">
  124. <![CDATA[
  125. //## 관리자 여부 체크 20100426 KHJ
  126. var cpgadminYN;
  127. var cpgattadmin = "";
  128. var stepattadmin = "";
  129. function fCPGadminClose() {
  130. window.close();
  131. }
  132. function fCheckStepAttr(){
  133. var node = null;
  134. var StepNodes = instance1.selectNodes("/root/main/steplist/info");
  135. var beforStepNo = getParameter("SPMQP00300_before_stepno");
  136. var afterStepNo = getParameter("SPMQP00300_after_stepno");
  137. var orgStepattrNode = null;
  138. var orgStepattrflag = "";
  139. var stepattrflag = "";
  140. if(isNull(beforStepNo)) beforStepNo = "0";
  141. if(isNull(afterStepNo)) afterStepNo = "0";
  142. if( beforStepNo == "0" && afterStepNo == "0" ) return;
  143. if (cpgattadmin =="B") {
  144. //문진관리
  145. return;
  146. } else if (cpgattadmin =="C") {
  147. //제한시간 (3)
  148. if(beforStepNo != afterStepNo){
  149. // 0 -> X
  150. if(beforStepNo == "0"){
  151. //이미 해당 스텝에 활성화 처리 되어 있으면 skip, 그렇지 않으면 활성화 처리
  152. orgStepattrNode = opener.instance1.selectSingleNode("/root/main/steplist/info[stepno='"+afterStepNo+"']/stepattrflag");
  153. orgStepattrflag = orgStepattrNode.text;
  154. if(orgStepattrflag.substr(4, 1) == "0"){
  155. stepattrflag = orgStepattrflag.substr(0, 4) + "1" + orgStepattrflag.substr(orgStepattrflag.length-2, 2);
  156. model.setValue(orgStepattrNode, stepattrflag);
  157. opener.window.javascript.fRefreshOutline("Y");
  158. }
  159. return;
  160. }
  161. // X -> 0
  162. else if(afterStepNo == "0"){
  163. node = instance1.selectSingleNode("/root/main/limlist/liminfo[stepno='"+beforStepNo+"']");
  164. //지금 해제한 스텝과 동일한 스텝 속성이 없을 경우 스텝 아이콘 비활성화 처리
  165. if( node == null ){
  166. orgStepattrNode = opener.instance1.selectSingleNode("/root/main/steplist/info[stepno='"+beforStepNo+"']/stepattrflag");
  167. orgStepattrflag = orgStepattrNode.text;
  168. stepattrflag = orgStepattrflag.substr(0, 4) + "0" + orgStepattrflag.substr(orgStepattrflag.length-2, 2);
  169. model.setValue(orgStepattrNode, stepattrflag);
  170. opener.window.javascript.fRefreshOutline("Y");
  171. }
  172. return;
  173. }
  174. else{
  175. var chngYN = "N";
  176. node = instance1.selectSingleNode("/root/main/limlist/liminfo[stepno='"+beforStepNo+"']");
  177. //지금 해제한 스텝과 동일한 스텝 속성이 없을 경우 스텝 아이콘 비활성화 처리
  178. if( node == null ){
  179. orgStepattrNode = opener.instance1.selectSingleNode("/root/main/steplist/info[stepno='"+beforStepNo+"']/stepattrflag");
  180. orgStepattrflag = orgStepattrNode.text;
  181. stepattrflag = orgStepattrflag.substr(0, 4) + "0" + orgStepattrflag.substr(orgStepattrflag.length-2, 2);
  182. model.setValue(orgStepattrNode, stepattrflag);
  183. chngYN = "Y";
  184. }
  185. //이미 해당 스텝에 활성화 처리 되어 있으면 skip, 그렇지 않으면 활성화 처리
  186. orgStepattrNode = opener.instance1.selectSingleNode("/root/main/steplist/info[stepno='"+afterStepNo+"']/stepattrflag");
  187. orgStepattrflag = orgStepattrNode.text;
  188. if(orgStepattrflag.substr(4, 1) == "0"){
  189. stepattrflag = orgStepattrflag.substr(0, 4) + "1" + orgStepattrflag.substr(orgStepattrflag.length-2, 2);
  190. model.setValue(orgStepattrNode, stepattrflag);
  191. chngYN = "Y";
  192. }
  193. if( chngYN == "Y" ) opener.window.javascript.fRefreshOutline("Y");
  194. return;
  195. }
  196. }
  197. return;
  198. }else{
  199. //모니터링 (2)
  200. if(beforStepNo != afterStepNo){
  201. // 0 -> X
  202. if(beforStepNo == "0"){
  203. //이미 해당 스텝에 활성화 처리 되어 있으면 skip, 그렇지 않으면 활성화 처리
  204. orgStepattrNode = opener.instance1.selectSingleNode("/root/main/steplist/info[stepno='"+afterStepNo+"']/stepattrflag");
  205. orgStepattrflag = orgStepattrNode.text;
  206. if(orgStepattrflag.substr(2, 1) == "0"){
  207. stepattrflag = orgStepattrflag.substr(0, 2) + "1" + orgStepattrflag.substr(orgStepattrflag.length-4, 4);
  208. model.setValue(orgStepattrNode, stepattrflag);
  209. opener.window.javascript.fRefreshOutline("Y");
  210. }
  211. return;
  212. }
  213. // X -> 0
  214. else if(afterStepNo == "0"){
  215. node = instance1.selectSingleNode("/root/main/mntrinfo/mntrlist[stepno='"+beforStepNo+"']");
  216. //지금 해제한 스텝과 동일한 스텝 속성이 없을 경우 스텝 아이콘 비활성화 처리
  217. if( node == null ){
  218. orgStepattrNode = opener.instance1.selectSingleNode("/root/main/steplist/info[stepno='"+beforStepNo+"']/stepattrflag");
  219. orgStepattrflag = orgStepattrNode.text;
  220. stepattrflag = orgStepattrflag.substr(0, 2) + "0" + orgStepattrflag.substr(orgStepattrflag.length-4, 4);
  221. model.setValue(orgStepattrNode, stepattrflag);
  222. opener.window.javascript.fRefreshOutline("Y");
  223. }
  224. return;
  225. }
  226. else{
  227. var chngYN = "N";
  228. node = instance1.selectSingleNode("/root/main/limlist/liminfo[stepno='"+beforStepNo+"']");
  229. //지금 해제한 스텝과 동일한 스텝 속성이 없을 경우 스텝 아이콘 비활성화 처리
  230. if( node == null ){
  231. orgStepattrNode = opener.instance1.selectSingleNode("/root/main/steplist/info[stepno='"+beforStepNo+"']/stepattrflag");
  232. orgStepattrflag = orgStepattrNode.text;
  233. stepattrflag = orgStepattrflag.substr(0, 2) + "0" + orgStepattrflag.substr(orgStepattrflag.length-4, 4);
  234. model.setValue(orgStepattrNode, stepattrflag);
  235. chngYN = "Y";
  236. }
  237. //이미 해당 스텝에 활성화 처리 되어 있으면 skip, 그렇지 않으면 활성화 처리
  238. orgStepattrNode = opener.instance1.selectSingleNode("/root/main/steplist/info[stepno='"+afterStepNo+"']/stepattrflag");
  239. orgStepattrflag = orgStepattrNode.text;
  240. if(orgStepattrflag.substr(2, 1) == "0"){
  241. stepattrflag = orgStepattrflag.substr(0, 2) + "1" + orgStepattrflag.substr(orgStepattrflag.length-4, 4);
  242. model.setValue(orgStepattrNode, stepattrflag);
  243. chngYN = "Y";
  244. }
  245. if( chngYN == "Y" ) opener.window.javascript.fRefreshOutline("Y");
  246. return;
  247. }
  248. }
  249. return;
  250. }
  251. clearParameter(getParameter("SPMQP00300_before_stepno"));
  252. clearParameter(getParameter("SPMQP00300_after_stepno"));
  253. }
  254. ]]>
  255. </script>
  256. </xhtml:head>
  257. <xhtml:body pagewidth="745" pageheight="535" guideline="1,354;1,441;1,273;1,735;2,530;">
  258. <switch id="switch1" style="left:5px; top:38px; width:730px; height:462px; ">
  259. <case id="case1" selected="true" style="left:0px; top:0px; ">
  260. <import id="import1" src="../../../emr/cpcdssweb/xrw/SPMMD06100_ClinicalRule관리.xrw" style="left:0px; top:0px; width:728px; height:460px; "/>
  261. </case>
  262. <case id="case2">
  263. <import id="import3" src="SPMQP04000_팝업관리.xrw" style="left:0px; top:0px; width:728px; height:460px; "/>
  264. </case>
  265. <case id="case3">
  266. <import id="import2" src="SPMQP03600_제한시간관리.xrw" style="left:0px; top:0px; width:728px; height:460px; "/>
  267. </case>
  268. </switch>
  269. <caption id="caption6" class="tit_1" style="left:5px; top:0px; width:139px; height:13px; ">CPG 속성관리</caption>
  270. <button id="btn_monitoring" class="btn_sw6" group="tab1" style="left:5px; top:16px; width:88px; height:22px; ">
  271. <caption>모니터링관리</caption>
  272. <script type="javascript" ev:event="DOMActivate">
  273. <![CDATA[
  274. model.toggle("case1");
  275. btn_monitoring.selected = true;
  276. model.setValue(root.main.cond.toggle, "A");
  277. ]]>
  278. </script>
  279. </button>
  280. <button id="btn_popup" class="btn_sw4" group="tab1" style="left:93px; top:16px; width:64px; height:22px; ">
  281. <caption>팝업관리</caption>
  282. <script type="javascript" ev:event="DOMActivate">
  283. <![CDATA[
  284. model.toggle("case2");
  285. btn_popup.selected = true;
  286. model.setValue(root.main.cond.toggle, "B");
  287. ]]>
  288. </script>
  289. </button>
  290. <button id="btn_limitime" class="btn_sw6" group="tab1" style="left:157px; top:16px; width:88px; height:22px; ">
  291. <caption>제한시간관리</caption>
  292. <script type="javascript" ev:event="DOMActivate">
  293. <![CDATA[
  294. model.toggle("case3");
  295. btn_limitime.selected = true;
  296. model.setValue(root.main.cond.toggle, "C");
  297. ]]>
  298. </script>
  299. </button>
  300. <group id="grp_btn" style="left:5px; top:500px; width:725px; height:30px; ">
  301. <button id="btn_initialize" class="btn3_letter5" visibility="hidden" style="left:1px; top:4px; width:75px; height:22px; background-image:../../../com/commonweb/images/btn3_letter5.gif; ">
  302. <caption>생성기 조회</caption>
  303. </button>
  304. <button id="btn_attrapp" class="btn4_letter2" navindex="6" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:610px; top:3px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  305. <caption>적용</caption>
  306. <script type="javascript" ev:event="DOMActivate">
  307. <![CDATA[
  308. var toggle = model.getValue("root/main/cond/toggle");
  309. var rtnFlag = true;
  310. if (toggle == "A") {
  311. rtnFlag = fSaveSlipMaster();
  312. } else if (toggle == "B") {
  313. rtnFlag = fSaveInqrList();
  314. } else if (toggle == "C") {
  315. rtnFlag = fSaveLimTime();
  316. }
  317. if( rtnFlag != false ){
  318. opener.window.javascript.fInitAttList();
  319. fCheckStepAttr(); //저장 후 스텝의 속성 정보 변경 시 체크하여 변경사항을 outline에 반영한다 --JJE
  320. }
  321. ]]>
  322. </script>
  323. </button>
  324. <button id="btn_attrclose" class="btn4_letter2" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:668px; top:3px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  325. <caption>닫기</caption>
  326. <script type="javascript" ev:event="DOMActivate">
  327. <![CDATA[
  328. window.close();
  329. ]]>
  330. </script>
  331. </button>
  332. </group>
  333. <button id="button3" class="btn2_letter5" disable.background-image="../../../com/commonweb/images/dis_btn2_letter5.gif" style="left:655px; top:17px; width:75px; height:19px; background-image:../../../com/commonweb/images/btn2_letter5.gif; ">
  334. <caption>속성리스트</caption>
  335. <script type="javascript" ev:event="DOMActivate">
  336. <![CDATA[
  337. var mainObj = getMainViewer();
  338. var CpgAttListObj= getOpenWindow("SPMQP00500");
  339. var leftPos = window.left - (276+8);
  340. if( leftPos < 0 ) leftPos = window.left + (745+8);
  341. var topPos = window.top;
  342. if (CpgAttListObj != null) {
  343. CpgAttListObj.window.javascript.model.dispatch("xforms-ready");
  344. } else {
  345. open("SPMQP00500", "", leftPos, topPos, "SPMQP00500", "", "", "", false);
  346. }
  347. ]]>
  348. </script>
  349. </button>
  350. </xhtml:body>
  351. </xhtml:html>