SMMNB03200_도움말문서관리.xrw 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524
  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. <divsinfo>
  11. <divslist/>
  12. </divsinfo>
  13. <cond>
  14. <cdnm/>
  15. <divsflag>1</divsflag>
  16. <scnid/>
  17. </cond>
  18. </main>
  19. <send>
  20. <filename/>
  21. <formhrdcd/>
  22. <file>
  23. <filename/>
  24. </file>
  25. <attach/>
  26. </send>
  27. </root>
  28. </instance>
  29. <script type="javascript" ev:event="xforms-ready">
  30. <![CDATA[
  31. model.removeNodeset(grd_divslist.nodeset);
  32. grd_divslist.refresh();
  33. var popupyn = model.property("popup");
  34. var sdivsflag = opener.javascript.getParameter("SMMNB03100_SORT");
  35. if(sdivsflag == "3") {
  36. model.setValue("/root/main/cond/divsflag", "3"); // 분류 - 교육용으로 선택
  37. rdo_divsflag.disabled = true;
  38. } else if(sdivsflag == "2") {
  39. model.setValue("/root/main/cond/divsflag", "2"); // 분류 - 운영자용으로 선택
  40. rdo_divsflag.disabled = true;
  41. } else if(sdivsflag == "1") {
  42. model.setValue("/root/main/cond/divsflag", "1"); // 분류 - 사용자용으로 선택
  43. rdo_divsflag.disabled = true;
  44. } else if(sdivsflag == "4") {
  45. model.setValue("/root/main/cond/divsflag", "4"); // 분류 - 감염관리선택
  46. rdo_divsflag.disabled = true;
  47. }
  48. if(popupyn == "Y") {
  49. grp_btn.visible = false;
  50. grp_btn2.visible = true;
  51. grd_divslist.colDisabled(grd_divslist.colRef("scnid")) = true;
  52. grd_divslist.colHidden(grd_divslist.colRef("chkyn")) = true;
  53. } else if(popupyn=="A") {
  54. grp_btn.visible = false;
  55. grp_btn2.visible = true;
  56. grd_divslist.colHidden(grd_divslist.colRef("chkyn")) = false;
  57. } else {
  58. grp_btn.visible = true;
  59. grp_btn2.visible = false;
  60. grd_divslist.colHidden(grd_divslist.colRef("chkyn")) = true;
  61. }
  62. fSearch();
  63. ]]>
  64. </script>
  65. <script type="javascript" ev:event="xforms-model-construct-done">
  66. <![CDATA[
  67. // var pCode = "'201'";
  68. // fGetNursHardCdInfo(pCode, getCurrentDate());
  69. // grp_btn.visible = false;
  70. // cap_info.visible = false;
  71. //
  72. // var ins = instance1.selectNodes("/root/init/codeinfo/codelist/cdid");
  73. // var cdid = "";
  74. //
  75. // model.setValue("/root/temp/dutunitcd", getUserInfo("userid"));
  76. //
  77. // for(i=1; i<= ins.length; i++){
  78. // cdid = model.getValue("/root/init/codeinfo/codelist["+i+"]/cdid");
  79. // if(getUserInfo("userid") == cdid) {
  80. // grp_btn.visible = true;
  81. // cap_info.visible = true;
  82. // break;
  83. // }
  84. // }
  85. ]]>
  86. </script>
  87. <submission id="TXMNB03201" mediatype="multipart/form-data" method="form-data-post" ref="/root/send" resultref="/root/hidden"/>
  88. <submission id="TRMNB03201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/send/attach"/>
  89. <submission id="TRMNB03102" mediatype="multipart/form-data" method="form-data-post" ref="/root/send/reqdata" resultref="/root/hidden/fileinfo"/>
  90. </model>
  91. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  92. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  93. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  94. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  95. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  96. <script type="javascript">
  97. <![CDATA[
  98. var timer;
  99. var chkCnt = 0;
  100. var path = "";
  101. var tempPath="";
  102. var chktime = 1;
  103. var tempPath = "";
  104. var existyn = "";
  105. function fClock() {
  106. chktime--;
  107. if(chktime < 0) {
  108. window.clearInterval(timer);
  109. browser1.Navigate(tempPath, "");
  110. chktime = 1;
  111. chkCnt = 0;
  112. }
  113. }
  114. function fSearch() {
  115. model.makeNode("/root/send/reqdata");
  116. model.copyNode("/root/send/reqdata", "/root/main/cond");
  117. submit("TRMNB03201");
  118. }
  119. function fOpenMhtFileDialog() {
  120. var files = window.fileDialog("open", "|", true, "", "", "웹보관파일 (*.mht)|*.mht");
  121. return files;
  122. }
  123. ]]>
  124. </script>
  125. </xhtml:head>
  126. <xhtml:body pagewidth="760" pageheight="786" guideline="1,847;2,720;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  127. <caption id="caption2" class="tit_1" style="left:0px; top:0px; width:205px; height:13px; background-image:../../../com/commonweb/images/tit_bullet1.gif; ">메뉴얼 및 지침서 관리</caption>
  128. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:2px; top:20px; width:738px; height:57px; background-color:#fffbf2; border-color:#ffd799; "/>
  129. <line id="line13" style="x1:662px; y1:38px; x2:662px; y2:60px; border-color:#ffe4bb; border-left-style:solid; "/>
  130. <caption id="caption1" class="search_name" style="left:180px; top:51px; width:80px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">항목명:</caption>
  131. <button id="btn_sea" class="btn1_letter2" style="left:670px; top:38px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  132. <caption>조회</caption>
  133. <script type="javascript" ev:event="DOMActivate">
  134. <![CDATA[
  135. fSearch();
  136. ]]>
  137. </script>
  138. </button>
  139. <input id="ipt_cdnm" ref="/root/main/cond/cdnm" class="input_search" style="left:250px; top:51px; width:280px; height:19px; ">
  140. <script type="javascript" ev:event="onkeydown">
  141. <![CDATA[
  142. inputEnterKey("btn_sea","DOMActivate");
  143. ]]>
  144. </script>
  145. </input>
  146. <datagrid id="grd_divslist" nodeset="/root/send/attach" caption="^분류^ID^항목명^경로^사이즈(Byte)^caption1^caption2^caption3^파일" colsep="^" colwidth="22, 80, 115, 485, 0, 100, 100, 100, 100" focuscolor="#3366ff" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" selectfontcolorstyle="none" selectimagestyle="none" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:110px; width:743px; height:648px; ">
  147. <col checkvalue="Y,N" ref="chkyn" type="checkbox"/>
  148. <col ref="divsflag" type="combo" style="font-family:돋움체; text-align:center; ">
  149. <choices>
  150. <item>
  151. <label>매뉴얼</label>
  152. <value>1</value>
  153. </item>
  154. <item>
  155. <label>운영자</label>
  156. <value>2</value>
  157. </item>
  158. <item>
  159. <label>간호자료실</label>
  160. <value>3</value>
  161. </item>
  162. <item>
  163. <label>감염관리</label>
  164. <value>4</value>
  165. </item>
  166. <item>
  167. <label>사용자환경설정</label>
  168. <value>6</value>
  169. </item>
  170. </choices>
  171. </col>
  172. <col ref="scnid" type="inputbutton" style="font-family:돋움체; text-align:center; "/>
  173. <col ref="filename" type="input" style="font-family:돋움체; text-align:left; padding-left:10; "/>
  174. <col ref="filepath" style="font-family:돋움체; "/>
  175. <col ref="filesize" visibility="hidden" format="#,###" style="font-family:돋움체; text-align:right; "/>
  176. <col ref="file" visibility="hidden" style="font-family:돋움체; "/>
  177. <col ref="attfilepath" visibility="hidden"/>
  178. <col ref="status" visibility="hidden"/>
  179. <script type="javascript" ev:event="onbuttonclick">
  180. <![CDATA[
  181. var file = fOpenMhtFileDialog();
  182. var filename;
  183. if(file != "") {
  184. filename = file.substring(file.lastIndexOf("\\")+1);
  185. grd_divslist.valueMatrix(grd_divslist.row, grd_divslist.colRef("file")) = file;
  186. grd_divslist.valueMatrix(grd_divslist.row, grd_divslist.colRef("filename")) = filename;
  187. grd_divslist.valueMatrix(grd_divslist.row, grd_divslist.colRef("filesize")) = upload_attach.getFileSize(file);
  188. var arr = filename.split("_");
  189. var rowStatus = grd_divslist.rowStatus(grd_divslist.row);
  190. if(arr.length > 0 ) {
  191. //grd_divslist.valueMatrix(grd_divslist.row, grd_divslist.colRef("scnid")) = arr[0];
  192. if(rowStatus != "1" && rowStatus != "3") {
  193. grd_divslist.rowStatus(grd_divslist.row) = "2";
  194. }
  195. }
  196. }
  197. ]]>
  198. </script>
  199. <script type="javascript" ev:event="ondblclick">
  200. <![CDATA[
  201. var popupyn = model.property("popup");
  202. if(popupyn == "Y") {
  203. btn_cert.dispatch("DOMActivate");
  204. } else {
  205. if(popupyn != "A") {
  206. if(grd_divslist.row > 0) {
  207. var rowStatus = grd_divslist.rowStatus(grd_divslist.row);
  208. var temp_path = "C:\\temp2";
  209. var divsflag = grd_divslist.valueMatrix(grd_divslist.row, grd_divslist.colRef("divsflag"));
  210. var scnid = grd_divslist.valueMatrix(grd_divslist.row, grd_divslist.colRef("scnid"));
  211. var filename = grd_divslist.valueMatrix(grd_divslist.row, grd_divslist.colRef("filename"));
  212. model.property("divsflag") = divsflag;
  213. model.property("scnid") = scnid;
  214. var curNurOpCnfmObj = getOpenWindow("SPMNZ01000");
  215. if(curNurOpCnfmObj != null){//준비확인이 열려있으면 상단 환자로 재조회2010.01.04 K.J.M
  216. curNurOpCnfmObj.javascript.fInit();
  217. } else {
  218. open("SPMNZ01000");
  219. }
  220. }
  221. }
  222. }
  223. ]]>
  224. </script>
  225. </datagrid>
  226. <line id="line2" class="line_1" style="x1:0px; y1:105px; x2:743px; y2:105px; "/>
  227. <caption id="caption5" class="search_name" style="left:10px; top:25px; width:99px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">분류 :</caption>
  228. <select1 id="rdo_divsflag" ref="/root/main/cond/divsflag" appearance="full" cols="6" overflow="visible" style="left:70px; top:28px; width:505px; height:13px; border-style:none; ">
  229. <choices>
  230. <item>
  231. <label>매뉴얼</label>
  232. <value>1</value>
  233. </item>
  234. <item>
  235. <label>운영자</label>
  236. <value>2</value>
  237. </item>
  238. <item>
  239. <label>간호자료실</label>
  240. <value>3</value>
  241. </item>
  242. <item>
  243. <label>감염관리</label>
  244. <value>4</value>
  245. </item>
  246. <item>
  247. <label>간호감염관리</label>
  248. <value>5</value>
  249. </item>
  250. <item>
  251. <label>사용자환경설정</label>
  252. <value>6</value>
  253. </item>
  254. </choices>
  255. <script type="javascript" ev:event="xforms-value-changed">
  256. <![CDATA[
  257. fSearch();
  258. ]]>
  259. </script>
  260. </select1>
  261. <caption id="caption3" class="search_name" style="left:10px; top:50px; width:99px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">ID :</caption>
  262. <input id="input1" ref="/root/main/cond/scnid" class="input_search" style="left:70px; top:51px; width:95px; height:19px; ">
  263. <script type="javascript" ev:event="onkeydown">
  264. <![CDATA[
  265. inputEnterKey("btn_sea","DOMActivate");
  266. ]]>
  267. </script>
  268. </input>
  269. <upload id="upload_attach" nodeset="/root/send/attach/file" filecount="15" filesize="15000000000" validate="true" style="left:520px; top:80px; width:100px; height:20px; "/>
  270. <group id="grp_btn" visibility="hidden" style="left:583px; top:79px; width:152px; height:25px; ">
  271. <button id="btn_save1" class="btn5_letter2" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:110px; top:5px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  272. <caption>저장</caption>
  273. <script type="javascript" ev:event="DOMActivate">
  274. <![CDATA[
  275. var fso, newfolder;
  276. fso = new ActiveXObject("Scripting.FileSystemObject");
  277. var folder="";
  278. if(fso.FolderExists("C:\\temp\\repository")) {
  279. } else {
  280. newfolder = fso.CreateFolder("c:\\temp\\repository");
  281. newfolder = fso.CreateFolder("c:\\temp\\repository\\attach");
  282. }
  283. var updt = getGridUpdateData(grd_divslist);
  284. var scnid = "";
  285. var node = "/root/send/attach/file";
  286. var rowStatus;
  287. if(updt != "" && updt != null) {
  288. model.makeValue("/root/send/savelist", updt);
  289. for(var i = grd_divslist.fixedRows; i < grd_divslist.rows; i++) {
  290. scnid = grd_divslist.valueMatrix(i, grd_divslist.colRef("scnid"));
  291. rowStatus = grd_divslist.rowStatus(i);
  292. if(rowStatus == "0") {
  293. grd_divslist.valueMatrix(i, grd_divslist.colRef("status")) = "d";
  294. }
  295. if(scnid.length > 10) {
  296. messageBox("프로그램 ID는 10자를 넘길수 없습니다", "E");
  297. return;
  298. }
  299. }
  300. model.removeNodeset(grd_divslist.nodeset + "[status='d']");
  301. grd_divslist.refresh();
  302. if(submit("TXMNB03201")) {
  303. // model.removeNodeset(node);
  304. // model.makeNode(node);
  305. fSearch();
  306. }
  307. }
  308. ]]>
  309. </script>
  310. </button>
  311. <button id="btn_grddel" class="btn2_letter3" style="left:55px; top:5px; width:53px; height:19px; background-image:../../../com/commonweb/images/btn2_letter3.gif; ">
  312. <caption>행삭제</caption>
  313. <script type="javascript" ev:event="DOMActivate">
  314. <![CDATA[
  315. upload_attach.revalidate();
  316. var sRows = grd_divslist.selectedRows;
  317. var iRow = grd_divslist.row;
  318. var rowStatus;
  319. if(sRows > 1) {
  320. var firstRow = grd_divslist.selectedRow(0);
  321. var lastRow = grd_divslist.selectedRow(grd_divslist.selectedRows - 1);
  322. var lv;
  323. for(var i = 0; i < grd_divslist.selectedRows; i++) {
  324. rowStatus = grd_divslist.rowStatus(grd_divslist.selectedRow(i));
  325. if(rowStatus == "1" || rowStatus == "3") {
  326. grd_divslist.deleteRow(grd_divslist.selectedRow(i));
  327. } else {
  328. grd_divslist.rowStatus(grd_divslist.selectedRow(i)) = "4";
  329. }
  330. }
  331. } else {
  332. rowStatus = grd_divslist.rowStatus(iRow);
  333. if(iRow > 0) {
  334. if(rowStatus == "1" || rowStatus == "3") {
  335. grd_divslist.deleteRow(iRow);
  336. } else {
  337. grd_divslist.rowStatus(iRow) = "4";
  338. }
  339. }
  340. }
  341. ]]>
  342. </script>
  343. </button>
  344. <button id="btn_grdadd" class="btn2_letter3" style="left:0px; top:5px; width:53px; height:19px; background-image:../../../com/commonweb/images/btn2_letter3.gif; ">
  345. <caption>행추가</caption>
  346. <script type="javascript" ev:event="DOMActivate">
  347. <![CDATA[
  348. var pos;
  349. var filename;
  350. var n;
  351. var node;
  352. var rowStatus;
  353. var divsflag = rdo_divsflag.value;
  354. files = fOpenMhtFileDialog();
  355. filelist = files.split("|");
  356. for(var i = 0 ; i < filelist.length ; i++ ) {
  357. if(filelist[i] != "")
  358. {
  359. pos=filelist[i].lastIndexOf("\\");
  360. filename=filelist[i].substring(pos+1);
  361. pos2 = filename.lastIndexOf(".mht");
  362. fstpos = filename.lastIndexOf("_");
  363. // alert("filename: " + filename + " fstpos: " + fstpos + " .mgtpos: " + pos2);
  364. // alert(filename[i].substr(fstpos, pos2-fstpos));
  365. var arr = filename.split("_");
  366. if(arr.length > 0 ) {
  367. node = instance1.selectNodes(grd_divslist.nodeset + "[scnid='" + arr[0] + "']");
  368. var iRow = grd_divslist.findRow(arr[0], grd_divslist.fixedRows, grd_divslist.colRef("scnid"), false, false);
  369. if(node.length > 0) {
  370. rowStatus = grd_divslist.rowStatus(iRow);
  371. model.setValue(grd_divslist.nodeset + "[scnid='" + arr[0] + "']/scnid", arr[0]);
  372. model.setValue(grd_divslist.nodeset + "[scnid='" + arr[0] + "']/file", filelist[i]);
  373. model.setValue(grd_divslist.nodeset + "[scnid='" + arr[0] + "']/divsflag", rdo_divsflag.value);
  374. model.setValue(grd_divslist.nodeset + "[scnid='" + arr[0] + "']/filename", filename);
  375. model.setValue(grd_divslist.nodeset + "[scnid='" + arr[0] + "']/filesize", upload_attach.getFileSize(filelist[i]) );
  376. if(rowStatus != "1" && rowStatus != "3") {
  377. grd_divslist.rowStatus(iRow) = "2";
  378. }
  379. } else {
  380. grd_divslist.addItem();
  381. n = grd_divslist.rows - 1;
  382. grd_divslist.valueMatrix(n, grd_divslist.colRef("file")) = filelist[i];
  383. grd_divslist.valueMatrix(n, grd_divslist.colRef("divsflag")) = rdo_divsflag.value;
  384. grd_divslist.valueMatrix(n, grd_divslist.colRef("filename")) = filename;
  385. grd_divslist.valueMatrix(n, grd_divslist.colRef("filesize")) = upload_attach.getFileSize(filelist[i]);
  386. grd_divslist.valueMatrix(n, grd_divslist.colRef("scnid")) = arr[0];
  387. }
  388. } else {
  389. grd_divslist.addItem();
  390. n = grd_divslist.rows - 1;
  391. grd_divslist.valueMatrix(n, grd_divslist.colRef("file")) = filelist[i];
  392. grd_divslist.valueMatrix(n, grd_divslist.colRef("divsflag")) = rdo_divsflag.value;
  393. grd_divslist.valueMatrix(n, grd_divslist.colRef("filename")) = filename;
  394. grd_divslist.valueMatrix(n, grd_divslist.colRef("filesize")) = upload_attach.getFileSize(filelist[i]);
  395. }
  396. }
  397. }
  398. ]]>
  399. </script>
  400. </button>
  401. </group>
  402. <group id="grp_btn2" visibility="hidden" style="left:627px; top:759px; width:113px; height:23px; ">
  403. <button id="btn_cert" class="btn4_letter2" style="left:0px; top:0px; width:56px; height:22px; ">
  404. <caption>확인</caption>
  405. <script type="javascript" ev:event="DOMActivate">
  406. <![CDATA[
  407. var popupyn = model.property("popup");
  408. if(grd_divslist.row > 0) {
  409. if(popupyn == "Y") {
  410. model.property("scnid") = grd_divslist.valueMatrix(grd_divslist.row, grd_divslist.colRef("scnid"));
  411. model.property("filename") = grd_divslist.valueMatrix(grd_divslist.row, grd_divslist.colRef("filename"));
  412. window.close();
  413. } else if(popupyn == "A") {
  414. var node = instance1.selectNodes(grd_divslist.nodeset + "[chkyn='Y']");
  415. var str = "";
  416. var chkyn = "";
  417. var cdnm;
  418. var scnid;
  419. var cnt = 0;
  420. var chkyn="";
  421. if(node.length > 0) {
  422. model.copyNode(opener.root.tmp.divsinfo, "/root/main/divsinfo");
  423. } else {
  424. messageBox("선택된 항목이 존재하지 않습니다.", "E");
  425. return;
  426. }
  427. window.close();
  428. }
  429. }
  430. ]]>
  431. </script>
  432. </button>
  433. <button id="button3" class="btn4_letter2" style="left:57px; top:0px; width:56px; height:22px; ">
  434. <caption>취소</caption>
  435. <script type="javascript" ev:event="DOMActivate">
  436. <![CDATA[
  437. window.close();
  438. ]]>
  439. </script>
  440. </button>
  441. </group>
  442. </xhtml:body>
  443. </xhtml:html>