SMMQZ00100_QI인증평가지침서.xrw 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <xhtml:html xmlns:ex="http://www.comsquare.co.kr/xforms/excel" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:my="http://www.comsquare.co.kr/example" xmlns:ms="urn:schemas-microsoft-com:xslt" 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" xmlns:cs="http://www.comsquare.co.kr/xforms">
  4. <xhtml:head>
  5. <xhtml:title>임상실무지침서</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <guideinfo/>
  11. <select>
  12. <setno/>
  13. <supsetno/>
  14. <setnm/>
  15. <status/>
  16. <depth/>
  17. <period/>
  18. </select>
  19. <guidedetlinfo/>
  20. </main>
  21. <send>
  22. <search>
  23. <term/>
  24. <period>2</period>
  25. </search>
  26. <savefolder>
  27. <setnm/>
  28. <setno/>
  29. <supsetno/>
  30. <status/>
  31. </savefolder>
  32. <searchdetl>
  33. <period/>
  34. <setno/>
  35. </searchdetl>
  36. <savedetl>
  37. <period/>
  38. <setno/>
  39. <conts/>
  40. <contstxt/>
  41. <status/>
  42. </savedetl>
  43. </send>
  44. <init/>
  45. <hidden>
  46. <menus>
  47. <trvmenu1>
  48. <menu>
  49. <label>폴더추가</label>
  50. <func>fAddFolder1</func>
  51. </menu>
  52. <menu>
  53. <label>폴더수정</label>
  54. <func>fModFolder1</func>
  55. </menu>
  56. <menu>
  57. <label>폴더삭제</label>
  58. <func>fDelFolder1</func>
  59. </menu>
  60. </trvmenu1>
  61. <trvmenu2>
  62. <menu>
  63. <label>최상위폴더추가</label>
  64. <func>fAddRootFolder1</func>
  65. </menu>
  66. <menu>
  67. <label>폴더추가</label>
  68. <func>fAddFolder1</func>
  69. </menu>
  70. <menu>
  71. <label>폴더수정</label>
  72. <func>fModFolder1</func>
  73. </menu>
  74. <menu>
  75. <label>폴더삭제</label>
  76. <func>fDelFolder1</func>
  77. </menu>
  78. </trvmenu2>
  79. <trvmenu3>
  80. <menu>
  81. <label>최상위폴더추가</label>
  82. <func>fAddRootFolder2</func>
  83. </menu>
  84. </trvmenu3>
  85. </menus>
  86. <treevalue/>
  87. </hidden>
  88. <temp/>
  89. </root>
  90. </instance>
  91. <script type="javascript" ev:event="xforms-ready">
  92. <![CDATA[
  93. if(fIsAdmin()){
  94. btn_hwpmenuview.visible = true;
  95. btn_save.visible = true;
  96. btn_upload.visible = true;
  97. }
  98. group1.attribute("height") = 0;
  99. group1.visible = true;
  100. /* hwp 세팅 */
  101. pHwpCtrl.SetToolBar(-1, "TOOLBAR_MENU");
  102. pHwpCtrl.SetToolBar(-1, "TOOLBAR_STANDARD");
  103. pHwpCtrl.SetToolBar(-1, "TOOLBAR_FORMAT");
  104. pHwpCtrl.SetToolBar(-1, "TOOLBAR_DRAW");
  105. pHwpCtrl.SetToolBar(-1, "-TOOLBAR_TABLE");
  106. pHwpCtrl.SetToolBar(-1, "-TOOLBAR_IMAGE");
  107. //pHwpCtrl.SetToolBar(-1, "-TOOLBAR_HEADERFOOTER");
  108. //pHwpCtrl.SetToolBar(0, "FilePreview, Print, Separator, Undo, Redo, Separator, Cut, Copy, Paste,"+"Separator, ParaNumberBullet, MultiColumn, SpellingCheck, HwpDic, Separator, PictureInsertDialog, MacroPlay1");
  109. //pHwpCtrl.SetToolBar(0, "Print, Separator, Undo, Redo, Separator, Cut, Copy, Paste,"+"Separator, ParaNumberBullet, MultiColumn, SpellingCheck, HwpDic, Separator, PictureInsertDialog, MacroPlay1");
  110. var dact = pHwpCtrl.CreateAction("CharShape");
  111. var dset = dact.CreateSet();
  112. dact.GetDefault(dset);
  113. //dset.SetItem("Height", 1300);
  114. dset.SetItem("FaceNameHangul", "굴림");
  115. dset.SetItem("FaceNameLatin", "굴림");
  116. dset.SetItem("FaceNameHanja", "굴림");
  117. dset.SetItem("FaceNameJapanese", "굴림");
  118. dset.SetItem("FaceNameOther", "굴림");
  119. dset.SetItem("FaceNameSymbol", "굴림");
  120. dset.SetItem("FaceNameUser", "굴림");
  121. //dset.SetItem("TextColor", 0xFF0000); // 글자 색을 파란색으로
  122. dact.Execute(dset); // 액션 실행
  123. btn_search.dispatch("DOMActivate");
  124. ]]>
  125. </script>
  126. <submission id="TRMQZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/main/guideinfo"/>
  127. <submission id="TRMQZ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchdetl" resultref="/root/main/guidedetlinfo"/>
  128. <submission id="TXMQZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savefolder" resultref="/root/main/guideinfo"/>
  129. <submission id="TXMQZ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedetl"/>
  130. </model>
  131. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  132. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  133. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  134. <script type="javascript">
  135. <![CDATA[
  136. var sLIST_PATH = "/root/main/guideinfo/guidelist";
  137. var sSELECT_PATH = "/root/main/select";
  138. var status = "";
  139. var hwpmenuviewflag = "N";
  140. function fIsAdmin(){
  141. var menuparm = getScreenMenuParameter();
  142. if(!isNull(menuparm) && menuparm == "A"){
  143. return true;
  144. }else{
  145. return false;
  146. }
  147. }
  148. function fSearch(){
  149. submit("TRMQZ00101",false);
  150. }
  151. /**
  152. * @desc : 마우스 오른쪽 버튼 팝업창
  153. * @
  154. * @param :
  155. * @return :
  156. * @---------------------------------------------------
  157. */
  158. function fMouseRghtBtnPopup(){
  159. if(event.button !=3) return;
  160. var rowpos = trv_work.mouseRow;
  161. trv_work.select(rowpos);
  162. var item = trv_work.item(trv_work.selectedIndex);
  163. var length = instance1.selectNodes(sLIST_PATH).length;
  164. if(length==0){
  165. setPopupMenu("group1", false, "/root/hidden/menus/trvmenu3/menu" , "label", "func");
  166. }else if(item.depth==0){
  167. setPopupMenu("trv_work", false, "/root/hidden/menus/trvmenu2/menu" , "label", "func");
  168. }else if(item.depth <= 3){
  169. setPopupMenu("trv_work", false, "/root/hidden/menus/trvmenu1/menu" , "label", "func");
  170. }else{
  171. initPopupMenu();
  172. }
  173. model.refresh();
  174. }
  175. function fSelect(){
  176. var item = trv_work.item(trv_work.selectedIndex);
  177. if(item == null){
  178. messageBox("항목을 ","C002");
  179. return;
  180. }
  181. if(item.depth<3){
  182. return;
  183. }
  184. /*
  185. model.setValue("/root/send/resultdata/setno",item.value);
  186. if(submit("TRZHA20302")){
  187. opener.javascript.setParameter("SPZHA20301_PARM_setno1",model.getValue("/root/main/selectedworkinfo/selectedworklist/setno1"));
  188. opener.javascript.setParameter("SPZHA20301_PARM_setno2",model.getValue("/root/main/selectedworkinfo/selectedworklist/setno2"));
  189. opener.javascript.setParameter("SPZHA20301_PARM_setno3",model.getValue("/root/main/selectedworkinfo/selectedworklist/setno3"));
  190. opener.javascript.setParameter("SPZHA20301_PARM_setnm1",model.getValue("/root/main/selectedworkinfo/selectedworklist/setnm1"));
  191. opener.javascript.setParameter("SPZHA20301_PARM_setnm2",model.getValue("/root/main/selectedworkinfo/selectedworklist/setnm2"));
  192. opener.javascript.setParameter("SPZHA20301_PARM_setnm3",model.getValue("/root/main/selectedworkinfo/selectedworklist/setnm3"));
  193. window.close();
  194. }
  195. */
  196. }
  197. function fAddRootFolder1(){
  198. var item = trv_work.item(trv_work.selectedIndex);
  199. if(item == null){return;}
  200. var currow = item.index + 1;
  201. model.setValue("/root/main/select/setnm", "");
  202. caption4.text="폴더명";
  203. if(fSetSelectedInfo(currow, "i",true)!=-1){
  204. fShowWndIptBox();
  205. }
  206. }
  207. function fAddRootFolder2(){
  208. model.resetInstanceNode(sSELECT_PATH);
  209. var period = model.getValue("/root/send/search/period");
  210. model.setValue(sSELECT_PATH + "/period", period);
  211. model.setValue(sSELECT_PATH + "/status", "i");
  212. fShowWndIptBox();
  213. }
  214. function fAddFolder1(){
  215. var item = trv_work.item(trv_work.selectedIndex);
  216. if(item == null){return;}
  217. var currow = item.index + 1;
  218. model.setValue("/root/main/select/setnm", "");
  219. caption4.text="폴더명";
  220. if(fSetSelectedInfo(currow, "i")!=-1){
  221. fShowWndIptBox();
  222. }
  223. }
  224. function fModFolder1(){
  225. var item = trv_work.item(trv_work.selectedIndex);
  226. if(item == null){return;}
  227. var currow = item.index + 1;
  228. model.setValue("/root/main/select/setnm", model.getValue(sLIST_PATH + "["+ currow + "]/setnm"));
  229. caption4.text="폴더명";
  230. if(fSetSelectedInfo(currow, "u")!=-1){
  231. fShowWndIptBox();
  232. }
  233. }
  234. function fDelFolder1(){
  235. var item = trv_work.item(trv_work.selectedIndex);
  236. if(item == null){return;}
  237. var currow = item.index + 1;
  238. if(fSetSelectedInfo(currow, "d")!=-1){
  239. fSaveFolder();
  240. }
  241. }
  242. function fSetSelectedInfo(rowpos, status, rootflag){
  243. var setnm = model.getValue(sLIST_PATH + "[" + rowpos + "]/setnm");
  244. if(status != "i" && status != "u" && status != "d") return -1;
  245. if(status == "d"){
  246. var rtnval = messageBox("[" + setnm + "]하위의 모든 업무가 지워집니다.\n" + "[" + setnm + "]업무를", "Q001");
  247. if(rtnval == 7){
  248. return -1;
  249. }
  250. }
  251. var depth = model.getValue(sLIST_PATH + "["+ rowpos + "]/depth");
  252. var supsetno = model.getValue(sLIST_PATH + "["+ rowpos + "]/supsetno");
  253. var setno = model.getValue(sLIST_PATH + "["+ rowpos + "]/setno");
  254. var period = model.getValue(sLIST_PATH + "["+ rowpos + "]/period");
  255. model.setValue(sSELECT_PATH + "/depth",depth);
  256. model.setValue(sSELECT_PATH + "/setno",setno);
  257. model.setValue(sSELECT_PATH + "/status", status);
  258. model.setValue(sSELECT_PATH + "/period", period);
  259. if(status == "i" && rootflag != true){
  260. model.setValue(sSELECT_PATH + "/supsetno",setno);
  261. }else{
  262. model.setValue(sSELECT_PATH + "/supsetno",supsetno);
  263. }
  264. }
  265. function fClkBtnCnfm(){
  266. group1.attribute("height") = 0;
  267. model.setFocus("trv_work");
  268. model.refresh();
  269. fSaveFolder();
  270. var item = trv_work.item(trv_work.selectedIndex);
  271. if(item == null){
  272. }else{
  273. var currow = item.index + 1;
  274. var indx = trv_work.selectedIndex;
  275. trv_work.select(currow);
  276. trv_work.expand(indx, true);
  277. trv_work.refresh();
  278. }
  279. }
  280. function fSaveFolder(){
  281. model.copyNode("/root/send/savefolder", sSELECT_PATH);
  282. if(submit("TXMQZ00101",false)){
  283. //model.setValue(trv_work.attribute("ref"), "");
  284. trv_work.rebuild();
  285. }
  286. }
  287. function fShowWndIptBox(){
  288. if(event.clientY >= 700){
  289. var ypos = 700;
  290. }else{
  291. var ypos = event.clientY;
  292. }
  293. group1.attribute("top") = ypos;
  294. group1.attribute("height") = 55;
  295. model.setFocus("ipt_setnm");
  296. model.refresh();
  297. }
  298. function fSearchDetl(period, setno){
  299. if(typeof(pHwpCtrl) == "undefined"){
  300. messageBox("한글이 설치되지 않았습니다.\n설치 후 진행 ","I006");
  301. return;
  302. }
  303. model.setValue("/root/send/searchdetl/setno",setno);
  304. model.setValue("/root/send/searchdetl/period",period);
  305. submit("TRMQZ00102",false);
  306. var length = instance1.selectNodes("/root/main/guidedetlinfo/guidedetl").length;
  307. if(length > 0){
  308. status = "u";
  309. pHwpCtrl.SetTextFile(model.getValue("/root/main/guidedetlinfo/guidedetl/conts"),"HWPML2X","");
  310. pHwpCtrl.MovePos(2, null, 1);//(2:문서의 시작 27:캐럿의위치)로 이동
  311. }else if(length==0){
  312. status = "i";
  313. pHwpCtrl.SetTextFile("","HWPML2X","");
  314. }
  315. }
  316. function fSaveDetl(){
  317. var period = model.getValue("/root/send/searchdetl/period");
  318. var setno = model.getValue("/root/send/searchdetl/setno");
  319. model.setValue("/root/send/savedetl/period",period);
  320. model.setValue("/root/send/savedetl/setno",setno);
  321. model.setValue("/root/send/savedetl/conts",pHwpCtrl.GetTextFile("HWPML2X", ""));
  322. model.setValue("/root/send/savedetl/contstxt",pHwpCtrl.GetTextFile("TEXT", ""));
  323. model.setValue("/root/send/savedetl/status",status);
  324. submit("TXMQZ00102",false);
  325. }
  326. function fFileAdd() {
  327. //파일 저장
  328. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  329. var name = window.fileDialog("open","|","false","","","한글파일(*.hwp)|*.hwp");
  330. pHwpCtrl.Open(name,"HWP","template:true");
  331. //model.makeValue("/root/send/save/attach/file", name);
  332. }
  333. ]]>
  334. </script>
  335. </xhtml:head>
  336. <xhtml:body pagewidth="1195px" pageheight="780px">
  337. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:144px; height:15px; ">임상실무지침서</caption>
  338. <group id="group2" style="left:0px; top:35px; width:380px; height:60px; vertical-align:top; ">
  339. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:380px; height:59px; background-color:#fffbf2; border-color:#ffd799; "/>
  340. <button id="btn_search" class="btn1_letter2" navindex="5" style="left:310px; top:34px; width:56px; height:22px; ">
  341. <caption>조회</caption>
  342. <script type="javascript" ev:event="DOMActivate">
  343. <![CDATA[
  344. fSearch();
  345. model.refresh();
  346. trv_work.rebuild();
  347. ]]>
  348. </script>
  349. </button>
  350. <caption id="caption20" class="search_name" style="left:5px; top:34px; width:74px; height:17px; ">내용</caption>
  351. <input id="ipt_s_term" ref="/root/send/search/term" style="left:70px; top:34px; width:235px; height:19px; "/>
  352. <caption id="caption2" class="search_name" style="left:5px; top:9px; width:74px; height:17px; ">주기</caption>
  353. <select1 id="combo1" ref="/root/send/search/period" appearance="minimal" style="left:70px; top:9px; width:110px; height:19px; ">
  354. <choices>
  355. <item>
  356. <label>2</label>
  357. <value>2</value>
  358. </item>
  359. </choices>
  360. </select1>
  361. </group>
  362. <treeview id="trv_work" ref="/root/hidden/treevalue" dragmode="true" dropmode="true" expanddepth="1" fullrowselect="false" itemsettype="depth" style="left:5px; top:100px; width:375px; height:670px; ">
  363. <itemset nodeset="/root/main/guideinfo/guidelist">
  364. <label ref="setnm"/>
  365. <value ref="setno"/>
  366. <depth ref="depth"/>
  367. </itemset>
  368. <script type="javascript" ev:event="onmousedown">
  369. <![CDATA[
  370. if(!fIsAdmin()) return;
  371. if(event.currentTarget != "trv_work") return;
  372. fMouseRghtBtnPopup();
  373. ]]>
  374. </script>
  375. <script type="javascript" ev:event="onmouseout">
  376. <![CDATA[
  377. if(!fIsAdmin()) return;
  378. initPopupMenu();
  379. ]]>
  380. </script>
  381. <script type="javascript" ev:event="ondblclick">
  382. <![CDATA[
  383. var item = trv_work.item(trv_work.selectedIndex);
  384. if(item == null){return;}
  385. var currow = item.index + 1;
  386. var depth = model.getValue(sLIST_PATH + "["+ currow + "]/depth");
  387. if(depth <3){
  388. grp_guidedetl.visible = false;
  389. return;
  390. }else{
  391. grp_guidedetl.visible = true;
  392. }
  393. var period = model.getValue(sLIST_PATH + "["+ currow + "]/period");
  394. var setno = model.getValue(sLIST_PATH + "["+ currow + "]/setno");
  395. var setnm = model.getValue(sLIST_PATH + "["+ currow + "]/setnm");
  396. model.setValue("/root/main/select/setno",setno);
  397. model.setValue("/root/main/select/period",period);
  398. model.setValue("/root/main/select/setnm",setnm);
  399. fSearchDetl(period, setno);
  400. model.refresh();
  401. ]]>
  402. </script>
  403. </treeview>
  404. <group id="group1" visibility="hidden" style="left:15px; top:575px; width:218px; height:55px; background-color:#99ccff; border-color:#3366ff; border-style:solid; ">
  405. <caption id="caption4" style="left:5px; top:5px; width:41px; height:20px; font-weight:bold; vertical-align:middle; ">폴더명</caption>
  406. <input id="ipt_setnm" ref="/root/main/select/setnm" class="input_default" style="left:55px; top:5px; width:154px; height:19px; border-color:#3366ff; border-style:solid; ">
  407. <script type="javascript" ev:event="onkeypress">
  408. <![CDATA[
  409. /*
  410. inputEnterKey("btn_cnfm", "DOMActivate");
  411. var keycode = event.keyCode;
  412. if(keycode == 27){
  413. group1.attribute("height") = 0;
  414. model.setFocus("trv_etcprmsprcpsetlist");
  415. return;
  416. }
  417. */
  418. ]]>
  419. </script>
  420. </input>
  421. <button id="btn_cnfm" class="btn2_letter2" style="left:122px; top:26px; width:42px; height:19px; ">
  422. <caption>확인</caption>
  423. <script type="javascript" ev:event="DOMActivate">
  424. <![CDATA[
  425. fClkBtnCnfm();
  426. ]]>
  427. </script>
  428. </button>
  429. <button id="button3" class="btn2_letter2" style="left:166px; top:26px; width:42px; height:19px; ">
  430. <caption>취소</caption>
  431. <script type="javascript" ev:event="DOMActivate">
  432. <![CDATA[
  433. group1.attribute("height") = 0;
  434. ]]>
  435. </script>
  436. </button>
  437. </group>
  438. <shape id="rectangle1" appearance="rectangle" style="left:385px; top:35px; width:805px; height:735px; background-color:#999999; "/>
  439. <group id="grp_guidedetl" visibility="hidden" style="left:385px; top:5px; width:805px; height:765px; ">
  440. <shape id="rectangle2" appearance="rectangle" style="left:0px; top:30px; width:805px; height:35px; background-color:#88bbff; "/>
  441. <object id="pHwpCtrl" clsid="{bd9c32de-3155-4691-8972-097d53b10052}" onError="activeX_hwp_err()" style="left:0px; top:65px; width:805px; height:700px; "/>
  442. <output id="output1" ref="/root/main/select/setnm" style="left:31px; top:38px; width:585px; height:19px; font-size:10pt; font-weight:bold; "/>
  443. <output id="output2" ref="/root/main/select/period" style="left:645px; top:38px; width:35px; height:19px; font-size:10pt; font-weight:bold; text-align:right; "/>
  444. <caption id="caption1" style="left:680px; top:37px; width:120px; height:20px; font-size:10pt; font-weight:bold; ">주기 인증평가</caption>
  445. <button id="btn_upload" class="btn2_letter5" visibility="hidden" style="left:660px; top:7px; width:75px; height:19px; ">
  446. <caption>파일올리기</caption>
  447. <script type="javascript" ev:event="DOMActivate">
  448. <![CDATA[
  449. fFileAdd();
  450. ]]>
  451. </script>
  452. </button>
  453. <button id="btn_hwpmenuview" class="btn2_letter4" visibility="hidden" style="left:5px; top:7px; width:64px; height:19px; ">
  454. <caption>메뉴보기</caption>
  455. <script type="javascript" ev:event="onclick">
  456. <![CDATA[
  457. if(hwpmenuviewflag == "N"){
  458. hwpmenuviewflag = "Y";
  459. btn_hwpmenuview.value = "메뉴숨김";
  460. pHwpCtrl.ShowToolBar(true);
  461. pHwpCtrl.ShowStatusBar(1);
  462. }else{
  463. hwpmenuviewflag = "N";
  464. btn_hwpmenuview.value = "메뉴보기";
  465. pHwpCtrl.ShowToolBar(false);
  466. pHwpCtrl.ShowStatusBar(0);
  467. }
  468. ]]>
  469. </script>
  470. </button>
  471. <button id="btn_save" class="btn4_letter2" navindex="26" visibility="hidden" style="left:740px; top:5px; width:56px; height:22px; ">
  472. <caption>저장</caption>
  473. <script type="javascript" ev:event="DOMActivate">
  474. <![CDATA[
  475. fSaveDetl();
  476. model.refresh();
  477. ]]>
  478. </script>
  479. </button>
  480. </group>
  481. </xhtml:body>
  482. </xhtml:html>