SMCFA00500_가예약현황.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * Name : SMCFA00500_가예약현황
  4. * Summary : 진료 가예약현황
  5. * Programmer : 엄윤호
  6. * Date Written : 2007.07.11
  7. * History : 2007.07.11
  8. * 2008/06/18,박원희(오류수정 및 사용자 요그사항에 의한 기능보완 작업:OneStop추가,팝업메뉴,sort,그리드 순서 변경,drag-drop에 의한 선택등...)
  9. * Remark :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <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">
  13. <xhtml:head>
  14. <xhtml:title>전화/인터넷 예약현황</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <list>
  20. <rsrvlist/>
  21. </list>
  22. <codedata>
  23. <popup>
  24. <popupnm>SMS예약전송</popupnm>
  25. <popupcd>0</popupcd>
  26. </popup>
  27. <popup>
  28. <popupnm>캠페인등록</popupnm>
  29. <popupcd>1</popupcd>
  30. </popup>
  31. </codedata>
  32. </main>
  33. <send>
  34. <srch>
  35. <ordfromdd/>
  36. <ordtodd/>
  37. <orddept/>
  38. <orddr/>
  39. <acptflag/>
  40. <rrgstno1/>
  41. <rrgstno2/>
  42. <patnm/>
  43. <trsmstat/>
  44. <onesvcyn/>
  45. <recvrtelno/>
  46. </srch>
  47. <rsrvlist/>
  48. <rsrvrule>
  49. <rsrvflag>5</rsrvflag>
  50. <itemflag>E</itemflag>
  51. </rsrvrule>
  52. </send>
  53. <init>
  54. <comncdlist>
  55. <P0029list/>
  56. <P0341list/>
  57. <C0019list/>
  58. </comncdlist>
  59. <basecdlist>
  60. <orddeptlist/>
  61. <orddrlist>
  62. <usercombo/>
  63. </orddrlist>
  64. </basecdlist>
  65. <rsrvrule>
  66. <delivedd/>
  67. <delivetm/>
  68. <msglrgcd/>
  69. <msgmdlcd/>
  70. <msgsmlcd/>
  71. <msgcnts/>
  72. </rsrvrule>
  73. </init>
  74. <temp>
  75. <result/>
  76. <trsmstat/>
  77. </temp>
  78. </root>
  79. </instance>
  80. <script type="javascript" ev:event="xforms-ready">
  81. <![CDATA[
  82. // P0029: 이력상태, P0341: 예약(접수)구분, C0019: 전송상태
  83. zbcfGetCodeList(new Array("P0029","P0341","C0019"),
  84. new Array("/root/init/comncdlist/P0029list","/root/init/comncdlist/P0341list","/root/init/comncdlist/C0019list"));
  85. var instcd = getUserInfo("dutplceinstcd");
  86. var standard_yn = "orduseyn";
  87. var ord_deptflag = "D"; // 외래진료과
  88. var rslt_ref = "/root/init/basecdlist/orddeptlist";
  89. //zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref);
  90. submit("TRCRB00104");
  91. submit("TRCFA00102"); // 예약주기관리(발송일, 발송 메시지)
  92. var delive_dd = model.getValue("/root/init/rsrvrule/delivedd");
  93. var ord_dd = getCurrentDate().toDate().getAddDate(3, "D").getDateFormat("YYYYMMDD");
  94. model.setValue("/root/send/srch/ordfromdd", ord_dd);
  95. model.setValue("/root/send/srch/ordtodd", ord_dd);
  96. addComboItemAll( "cmb_rsrvflag|cmb_trsmstat|cmb_orddept|cmb_orddr");
  97. fCheckAuth();
  98. fInitRsrvList();
  99. model.refresh();
  100. ]]>
  101. </script>
  102. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  103. <submission id="TRZSU10105" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" add="top"/>
  104. <submission id="TRZSU10117" mediatype="application/x-www-form-urlencoded" method="post"/>
  105. <submission id="TRCRB00104" mediatype="application/x-www-form-urlencoded" method="post" resultref="/root/init/basecdlist/orddeptlist"/>
  106. <submission id="TRCFA00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srch" resultref="/root/main/list/rsrvlist"/>
  107. <submission id="TXCFA00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/rsrvlist" resultref="/root/temp/result"/>
  108. <submission id="TRCFA00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/rsrvrule" resultref="/root/init/rsrvrule"/>
  109. </model>
  110. <script type="javascript" src="../../../crm/crmweb/js/CCZ001.js"/>
  111. <script type="javascript" src="../../../crm/reserveweb/js/CFZ001.js">// 2008/06/14,박원희: popup때문에 추가함</script>
  112. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  113. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  114. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  115. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  116. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  117. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  118. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  119. <script type="javascript">
  120. <![CDATA[
  121. function fCheckAuth() {
  122. // 권한체크
  123. if (!checkAuth("r")) {
  124. btn_search.disabled=true;
  125. }
  126. if (!checkAuth("x")) {
  127. btn_save.disabled=true;
  128. btn_trsmstat.disabled=true;
  129. btn_sms.disabled=true;
  130. //btn_email.disabled=true;
  131. btn_cmpn.disabled=true;
  132. }
  133. if (!checkAuth("p")) {
  134. btn_saveexcel.disabled = true;
  135. }
  136. }
  137. function fInitRsrvList() {
  138. // 그리드 초기화
  139. model.removeNodeset("/root/main/list/rsrvlist");
  140. //grd_rsrvlist.clearStatus();
  141. //grd_rsrvlist.colStyle(1, "data","background-image") = "../../../com/commonweb/images/icon_n.gif";
  142. //model.refresh();
  143. }
  144. function fSaveRsrvList() {
  145. // 예약메시지 전송에서 제외한 목록 저장
  146. var grid = grd_rsrvlist;
  147. var updt_list = getGridUpdateData(grid);
  148. if (updt_list != "") {
  149. model.setValue("/root/send/rsrvlist", grid.getUpdateData());
  150. }
  151. if (submit("TXCFA00501")) {
  152. grid.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  153. grid.colStyle(1, "data","background-image") = "../../../com/commonweb/images/icon_n.gif";
  154. model.setValue("/root/send/rsrvlist","");
  155. messageBox("전송상태 저장이","I002");
  156. }
  157. }
  158. ]]>
  159. </script>
  160. </xhtml:head>
  161. <xhtml:body guideline="1,1194;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  162. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  163. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:196px; height:14px; ">가예약 전송관리</caption>
  164. </group>
  165. <group id="group2" style="left:0px; top:23px; width:1194px; height:60px; vertical-align:top; ">
  166. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:59px; "/>
  167. <caption id="caption3" class="search_name" style="left:16px; top:9px; width:86px; height:17px; ">예약일자 :</caption>
  168. <input id="ipt_ordfromdd" ref="/root/send/srch/ordfromdd" class="input_search" inputtype="date" style="left:108px; top:8px; width:120px; height:19px; "/>
  169. <caption id="caption4" class="search_no_b" style="left:233px; top:9px; width:12px; height:17px; ">~</caption>
  170. <input id="ipt_ordtodd" ref="/root/send/srch/ordtodd" class="input_search" inputtype="date" style="left:248px; top:8px; width:120px; height:19px; "/>
  171. <caption id="caption5" class="search_name" style="left:401px; top:9px; width:86px; height:17px; ">진료과 :</caption>
  172. <select1 id="cmb_orddept" ref="/root/send/srch/orddept" class="combo_search" appearance="minimal" style="left:480px; top:8px; width:145px; height:19px; ">
  173. <choices>
  174. <itemset nodeset="/root/init/basecdlist/orddeptlist">
  175. <label ref="depthngnm"/>
  176. <value ref="deptcd"/>
  177. </itemset>
  178. </choices>
  179. <script type="javascript" ev:event="xforms-value-changed">
  180. <![CDATA[
  181. model.resetInstanceNode("/root/hidden/zsu/userlist/user");
  182. var dutplceinstcd = getGlobalVariable("dutplceinstcd");
  183. var deptcd = model.getValue("/root/send/srch/orddept");
  184. var basedd = getCurrentDate();
  185. if (model.getValue("/root/send/srch/orddept") == "") {
  186. model.makeValue("/root/hidden/zsu/userlist", "");
  187. } else {
  188. zsufGetOutOrdDeptDoctorList(dutplceinstcd, deptcd, "/root/hidden/zsu/userlist", "usernm", "asc", basedd);
  189. }
  190. //zsufGetUserInfoCombo(deptcd, "/root/hidden/zsu/userlist","_D");
  191. addComboItem( "cmb_orddr");
  192. //model.setValue("/root/send/srch/orddr", "");
  193. model.refresh();
  194. ]]>
  195. </script>
  196. </select1>
  197. <caption id="caption6" class="search_name" style="left:650px; top:9px; width:86px; height:17px; ">진료의 :</caption>
  198. <select1 id="cmb_orddr" ref="/root/send/srch/orddr" class="combo_search" appearance="minimal" style="left:735px; top:8px; width:110px; height:19px; ">
  199. <choices>
  200. <itemset nodeset="/root/hidden/zsu/userlist/user">
  201. <label ref="usernm"/>
  202. <value ref="userid"/>
  203. </itemset>
  204. </choices>
  205. </select1>
  206. <caption id="caption7" class="search_name" style="left:863px; top:10px; width:86px; height:17px; ">예약구분 :</caption>
  207. <select1 id="cmb_rsrvflag" ref="/root/send/srch/acptflag" class="combo_search" appearance="minimal" style="left:965px; top:8px; width:127px; height:19px; ">
  208. <choices>
  209. <itemset nodeset="/root/init/comncdlist/P0341list/P0341">
  210. <label ref="cdnm"/>
  211. <value ref="cdid"/>
  212. </itemset>
  213. </choices>
  214. </select1>
  215. <caption id="caption8" class="search_name" style="left:16px; top:33px; width:114px; height:17px; ">주민등록번호 :</caption>
  216. <input id="ipt_rrgst1" ref="/root/send/srch/rrgstno1" class="input_search" imemode="disabled" maxlength="6" format="999999" style="left:135px; top:32px; width:63px; height:19px; "/>
  217. <caption id="caption9" class="search_no_b" style="left:200px; top:33px; width:12px; height:17px; ">-</caption>
  218. <input id="ipt_rrgst2" ref="/root/send/srch/rrgstno2" class="input_search" imemode="disabled" maxlength="7" format="9999999" style="left:212px; top:32px; width:75px; height:19px; "/>
  219. <caption id="caption10" class="search_name" style="left:401px; top:33px; width:86px; height:17px; ">환자명 :</caption>
  220. <input id="ipt_patnm" ref="/root/send/srch/patnm" class="input_search" maxlength="50" style="left:480px; top:32px; width:145px; height:19px; ">
  221. <script type="javascript" ev:event="onkeyup">
  222. <![CDATA[
  223. inputEnterKey("btn_search", "DOMActivate");
  224. ]]>
  225. </script>
  226. </input>
  227. <caption id="caption11" class="search_name" style="left:650px; top:33px; width:86px; height:17px; ">전송상태 :</caption>
  228. <select1 id="cmb_trsmstat" ref="/root/send/srch/trsmstat" class="combo_search" appearance="minimal" style="left:735px; top:32px; width:110px; height:19px; ">
  229. <choices>
  230. <itemset nodeset="/root/init/comncdlist/C0019list/C0019">
  231. <label ref="cdnm"/>
  232. <value ref="cdid"/>
  233. </itemset>
  234. </choices>
  235. </select1>
  236. <line id="line1" class="line_4" style="x1:1106px; y1:7px; x2:1106px; y2:53px; border-left-style:solid; "/>
  237. <button id="btn_search" class="btn1_letter2" style="left:1122px; top:19px; width:56px; height:22px; ">
  238. <caption>조회</caption>
  239. <script type="javascript" ev:event="DOMActivate">
  240. <![CDATA[
  241. submit("TRCFA00501");
  242. ]]>
  243. </script>
  244. </button>
  245. <select id="chkOnstopYn" ref="/root/send/srch/onesvcyn" overflow="visible" appearance="full" style="left:300px; top:35px; width:95px; height:20px; border-style:none; ">
  246. <choices>
  247. <item>
  248. <label>OneStop여부</label>
  249. <value>Y</value>
  250. </item>
  251. </choices>
  252. </select>
  253. <caption id="caption12" class="search_name" style="left:863px; top:33px; width:112px; height:17px; ">휴대전화번호 :</caption>
  254. <input id="ipt_recvrtelno" ref="/root/send/srch/recvrtelno" class="input_search" style="left:977px; top:32px; width:115px; height:19px; ">
  255. <script type="javascript" ev:event="onkeyup">
  256. <![CDATA[
  257. inputEnterKey("btn_search", "DOMActivate");
  258. ]]>
  259. </script>
  260. </input>
  261. </group>
  262. <group id="group3" scroll="auto" style="left:0px; top:83px; width:1195px; height:668px; ">
  263. <caption id="caption2" class="tit_2" style="left:5px; top:10px; width:105px; height:14px; ">예약 전송 목록</caption>
  264. <button id="btn_trsmstat" class="btn2_letter4" style="left:1063px; top:5px; width:64px; height:19px; ">
  265. <caption>전송제외</caption>
  266. <script type="javascript" ev:event="DOMActivate">
  267. <![CDATA[
  268. // 전송상태(trsmstat)를 '전송대기(0)'인 데이터만 '전송제외(2)'로 변경
  269. var grid = grd_rsrvlist;
  270. var trsmstat_col = 2;
  271. cfzfChangeTrsmStat(grid, trsmstat_col);
  272. ]]>
  273. </script>
  274. </button>
  275. <button id="btn_saveexcel" class="btn2_letter4" style="left:1130px; top:5px; width:64px; height:19px; ">
  276. <caption>엑셀저장</caption>
  277. <script type="javascript" ev:event="DOMActivate">
  278. <![CDATA[
  279. var file_nm = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  280. if (file_nm != "") {
  281. grd_rsrvlist.saveExcel(file_nm, "SheetName", true, true, "", "", false);
  282. }
  283. ]]>
  284. </script>
  285. </button>
  286. <line id="line2" class="line_1" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  287. <datagrid id="grd_rsrvlist" nodeset="/root/main/list/rsrvlist" class="text_center" caption="^전송상태^예약일자^시간^주민등록번호^환자명^진료과^진료의^예약구분^휴대전화번호^집전화번호^OneStop여부^예약 메시지^접수일자" colwidth="25, 90, 100, 55, 115, 140, 100, 80, 90, 90, 90, 100, 450, 0, 100" ellipsis="true" explorerbar="sortshowmove" frozencols="6" mergecellsfixedrows="bycolrec" rowheader="seq" tooltip="true" style="left:0px; top:30px; width:1194px; height:630px; ">
  288. <col class="update_n" ref="update"/>
  289. <col disabled="true" ref="trsmstat" type="combo">
  290. <choices>
  291. <itemset nodeset="/root/init/comncdlist/C0019list/C0019">
  292. <label ref="cdnm"/>
  293. <value ref="cdid"/>
  294. </itemset>
  295. </choices>
  296. </col>
  297. <col ref="orddd" format="yyyy-mm-dd"/>
  298. <col ref="ordtm" format="hh:nn"/>
  299. <col ref="rrgstno" secretendposition="14" secretmark="*" secretstartposition="8"/>
  300. <col ref="hngnm"/>
  301. <col ref="orddeptnm"/>
  302. <col ref="orddrnm"/>
  303. <col disabled="true" ref="acptflag" type="combo">
  304. <choices>
  305. <itemset nodeset="/root/init/comncdlist/P0341list/P0341">
  306. <label ref="cdnm"/>
  307. <value ref="cdid"/>
  308. </itemset>
  309. </choices>
  310. </col>
  311. <col ref="mpphontel"/>
  312. <col ref="hometel"/>
  313. <col ref="onesvcyn"/>
  314. <col ref="smsmsg" style="text-align:left; "/>
  315. <col ref="acptdd" format="yyyy-mm-dd"/>
  316. <col ref="acptno" visibility="hidden"/>
  317. <!--col ref="email" visibility="hidden"/-->
  318. <!--col ref="lastchosdt" visibility="hidden"/-->
  319. <script type="javascript" ev:event="xforms-value-changed">
  320. <![CDATA[
  321. // 그리드의 변경 상태값을 변경
  322. // var grid = grd_rsrvlist;
  323. // var trsmstat_col = 2;
  324. // cfzfChangeRowStatus(grid, trsmstat_col);
  325. ]]>
  326. </script>
  327. <script type="javascript" ev:event="onclick">
  328. <![CDATA[
  329. // 그리드의 변경 상태 가능여부를 체크하고, 변경 이전 값을 저장
  330. // var grid = grd_rsrvlist;
  331. // var trsmstat_col = 2;
  332. // cfzfCheckSaveBfTrsm(grid, trsmstat_col);
  333. ]]>
  334. </script>
  335. <script type="javascript" ev:event="onmousedown">
  336. <![CDATA[
  337. if (event.button == 3 ){
  338. window.setPopupMenu( true, "/root/main/codedata/popup", "popupnm", "popupcd", true);
  339. }
  340. ]]>
  341. </script>
  342. </datagrid>
  343. </group>
  344. <group id="group4" style="left:0px; top:751px; width:1195px; height:29px; vertical-align:top; ">
  345. <button id="btn_sms" class="btn3_letter5" style="left:0px; top:0px; width:92px; height:22px; ">
  346. <caption>SMS전송</caption>
  347. <script type="javascript" ev:event="DOMActivate">
  348. <![CDATA[
  349. cczfSMSTrsmOpen("grid",grd_rsrvlist,6,10,"","");
  350. ]]>
  351. </script>
  352. </button>
  353. <!--button id="btn_email" class="btn3_letter5" style="left:94px; top:0px; width:92px; height:22px; ">
  354. <caption>이메일발송</caption>
  355. <script type="javascript" ev:event="DOMActivate">
  356. <![CDATA[
  357. cczfEmailTrsmOpen("grid",grd_rsrvlist,19,"");
  358. ]]>
  359. </script>
  360. </button>
  361. <button id="btn_cmpn" class="btn3_letter5" style="left:94px; top:0px; width:92px; height:22px; ">
  362. <caption>캠페인등록</caption>
  363. <script type="javascript" ev:event="DOMActivate">
  364. <![CDATA[
  365. cczfOpenInsertCmpn(grd_rsrvlist, "00");
  366. ]]>
  367. </script>
  368. </button>-->
  369. <button id="btn_save" class="btn4_letter2" _auth="X" style="left:1068px; top:0px; width:56px; height:22px; ">
  370. <caption>저장</caption>
  371. <script type="javascript" ev:event="DOMActivate">
  372. <![CDATA[
  373. fSaveRsrvList();
  374. ]]>
  375. </script>
  376. </button>
  377. <button id="btn_init" class="btn4_letter3" style="left:1127px; top:0px; width:68px; height:22px; ">
  378. <caption>초기화</caption>
  379. <script type="javascript" ev:event="DOMActivate">
  380. <![CDATA[
  381. fInitRsrvList();
  382. model.refresh();
  383. ]]>
  384. </script>
  385. </button>
  386. </group>
  387. <script type="javascript" ev:event="onmenu">
  388. <![CDATA[
  389. // 팝업실행 부분....js에 fShowPopup 만들었지만 간단히 하기위해 이렇게 처리함..추후 js 보완하여 공통으로 사용할건진 판단)
  390. // fShowPopup(event.description);
  391. var idx = event.description;
  392. //alert(idx)
  393. if (idx == 0) { // SMS전송
  394. //open("SPCCN00100", "", "100", "100", "SPCCN00100", "", "");
  395. cczfSMSTrsmOpen("grid",grd_rsrvlist,6,10,"","");
  396. } else if (idx == 1) {// 캠페인등록
  397. //open("SPCCP00100", "", "100", "100", "SPCCP00100", "", "");
  398. cczfOpenInsertCmpn(grd_rsrvlist, "00");
  399. }
  400. ]]>
  401. </script>
  402. </xhtml:body>
  403. </xhtml:html>