SPCNS00600_SMS상용구관리.xrw 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * Name : SPCNS00600_SMS상용구관리
  4. * Summary : SMS상용구관리
  5. * Programmer : 최정환
  6. * Date Written : 2007.06.22
  7. * History : 2008.06.15 차재훈
  8. * Remark :
  9. -->
  10. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  11. <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">
  12. <xhtml:head>
  13. <xhtml:title>SMS메시지관리</xhtml:title>
  14. <model id="model1">
  15. <instance id="instance1">
  16. <root xmlns="">
  17. <main>
  18. <list>
  19. <msgtmpllist>
  20. <msgsmlcd/>
  21. <msgcnts/>
  22. <smstrsmcntcno/>
  23. <usernm/>
  24. <msglrgcd/>
  25. <msgmdlcd/>
  26. <useyn/>
  27. <rgstdeptnm/>
  28. </msgtmpllist>
  29. <msgtmplkeylist>
  30. <msglrgcd/>
  31. <msgmdlcd/>
  32. <msgsmlcd/>
  33. <basersrvcnts/>
  34. <addrsrvcnts/>
  35. <cmpncnts/>
  36. <tmpldtmncnts/>
  37. <chnlflag/>
  38. <usernm/>
  39. </msgtmplkeylist>
  40. </list>
  41. <msgtmpl>
  42. <msglrgcd/>
  43. <msgmdlcd/>
  44. <msgsmlcd/>
  45. <msgcnts/>
  46. <smstrsmcntcno/>
  47. <useyn/>
  48. <savemode/>
  49. <chnlflag/>
  50. </msgtmpl>
  51. </main>
  52. <countnode/>
  53. <send>
  54. <data>
  55. <rgstfromdd/>
  56. <rgsttodd/>
  57. <msgcnts/>
  58. <useyn>Y</useyn>
  59. <msgmdlcd/>
  60. <mdlgrupcd/>
  61. </data>
  62. <info>
  63. <msglrgcd/>
  64. <chnlflag/>
  65. </info>
  66. </send>
  67. <init>
  68. <chnllrglist>
  69. <chnllrggrup>
  70. <msglrgnm/>
  71. <msglrgcd/>
  72. </chnllrggrup>
  73. </chnllrglist>
  74. <chnlmdllist>
  75. <chnlmdlgrup>
  76. <msgmdlnm/>
  77. <msgmdlcd/>
  78. <msglrgcd/>
  79. </chnlmdlgrup>
  80. </chnlmdllist>
  81. </init>
  82. <temp>
  83. <prvwscrn/>
  84. <msgsmlcd/>
  85. <messagecnt/>
  86. </temp>
  87. <hidden>
  88. <messagecnt/>
  89. <pagecnt/>
  90. <msgsmlcd/>
  91. </hidden>
  92. </root>
  93. </instance>
  94. <submission id="TRCNS00204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list/msgtmplkeylist"/>
  95. <submission id="TRCNS00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/info" resultref="/root/init/chnllrglist/chnllrggrup"/>
  96. <submission id="TRCNS00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/info" replace="instance" resultref="/root/init/chnlmdllist/chnlmdlgrup"/>
  97. <submission id="TRCNS00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list/msgtmpllist"/>
  98. <submission id="TXCNS00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/msgtmpl"/>
  99. </model>
  100. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  101. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  102. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  103. <script type="javascript" ev:event="xforms-ready">
  104. <![CDATA[
  105. // SMS 탭버튼 활성
  106. btn_sms.selected = true;
  107. // SMS메시지 그리드의 col을 초기화 시켜준다.
  108. model.removenodeset("/root/main/list/msgtmpllist");
  109. // 메시지 분류코드 설정 (SMS : S)
  110. model.setValue("/root/send/info/chnlflag", "S");
  111. // 메시지 대그룹을 가져온다
  112. submit("TRCNS00201");
  113. // 입력모드로 표시
  114. model.setValue("/root/main/msgtmpl/savemode","I");
  115. //저장 수정버튼 활성화 구분
  116. fGetMsgStatus();
  117. fCheckAuth();
  118. ]]>
  119. </script>
  120. <script type="javascript">
  121. <![CDATA[
  122. function fCheckAuth() {
  123. // 권한체크
  124. if (!checkAuth("r")) {
  125. btn_search.disabled=true;
  126. }
  127. if (!checkAuth("x")) {
  128. btn_del.disabled=true;
  129. btn_save.disabled=true;
  130. btn_updt.disabled=true;
  131. }
  132. }
  133. // 초기화
  134. function fInitiate() {
  135. model.resetInstanceNode("/root/main/msgtmpl/msgsmlcd");
  136. model.resetInstanceNode("/root/main/msgtmpl/msgcnts");
  137. model.resetInstanceNode("/root/main/msgtmpl/smstrsmcntcno");
  138. model.resetInstanceNode("/root/temp/prvwscrn");
  139. model.setValue("/root/hidden/messagecnt", "0");
  140. model.setValue("/root/main/msgtmpl/savemode", "I");
  141. model.setValue("/root/temp/messagecnt", "0");
  142. fGetMsgStatus();
  143. }
  144. // 입력한글자수 체크
  145. function fGetCheckMsgCnts() {
  146. var strlen = 0;
  147. var str = tar_msgcnts.currentText
  148. for (var i=0; i<str.length; i++) {
  149. strlen += (str.charCodeAt(i) > 128) ? 2 : 1;
  150. }
  151. if (strlen > 240) {
  152. model.setValue("/root/hidden/messagecnt", strlen);
  153. ipt_messagecnt.refresh();
  154. messageBox("최대입력글자인 240 byte를 ", "E003");
  155. return false;
  156. }else{
  157. model.setValue("/root/hidden/messagecnt", strlen);
  158. ipt_messagecnt.refresh();
  159. return true;
  160. }
  161. }
  162. // 그룹관리의 변경된 내용을 새로 적용시켜준다.
  163. function fChnlLrg() {
  164. model.removenodeset("/root/init/chnllrglist/chnllrggrup");
  165. model.removenodeset("/root/init/chnlmdllist/chnlmdlgrup");
  166. model.resetInstanceNode("/root/main/msgtmpl/msglrgcd");
  167. model.resetInstanceNode("/root/main/msgtmpl/msgmdlcd");
  168. submit("TRCNS00201");
  169. }
  170. // 선택한 채널관리 대분류에 따른 채널관리 중분류를 가져온다.
  171. function fGetChnlMdlCd() {
  172. var msglrgcd = model.getValue("/root/main/msgtmpl/msglrgcd");
  173. model.setValue("/root/send/info/msglrgcd",msglrgcd);
  174. submit("TRCNS00202");
  175. }
  176. // SMS메시지 관리 등록 및 수정
  177. function fSaveMsg(savemode) {
  178. var chnlflag = model.getValue("/root/send/info/chnlflag");
  179. model.setValue("/root/main/msgtmpl/chnlflag", chnlflag);
  180. if(isRequiredControls("tar_msgcnts")) {
  181. submit("TXCNS00201");
  182. messageBox("탬플릿 저장이", "I002", "");
  183. model.resetInstanceNode("/root/main/msgtmpl/msgsmlcd");
  184. model.resetInstanceNode("/root/main/msgtmpl/msgcnts");
  185. model.resetInstanceNode("/root/main/msgtmpl/smstrsmcntcno");
  186. model.resetInstanceNode("/root/temp/prvwscrn");
  187. model.resetInstanceNode("/root/hidden/messagecnt");
  188. model.setValue("/root/main/msgtmpl/savemode", "I");
  189. model.refresh();
  190. }
  191. }
  192. //SMS 저장시 정합성 체크
  193. function fMsgValid(){
  194. var msgcnts = model.getValue("/root/main/msgtmpl/msgcnts");
  195. var msglrgcd = model.getValue("/root/main/msgtmpl/msglrgcd");
  196. var msgmdlcd = model.getValue("/root/main/msgtmpl/msgmdlcd");
  197. var cnt = fGetCheckMsgCnts();
  198. if(msgcnts == ""){
  199. messageBox("SMS내용이 입력 되지", "E007");
  200. return false;
  201. }
  202. if(!cnt){
  203. return false;
  204. }
  205. if(msglrgcd == ""){
  206. messageBox("SMS대분류가 선택 되지", "E007");
  207. return false;
  208. }
  209. if(msgmdlcd == "" || msgmdlcd == "0"){
  210. messageBox("SMS중분류가 선택 되지", "E007");
  211. return false;
  212. }
  213. return true;
  214. }
  215. // SMS메시지 리스트 조회
  216. function fGetMsgTmplList() {
  217. model.removeNodeset("/root/main/list/msgtmpllist");
  218. model.setValue("/root/send/data/mdlgrupcd", "")
  219. submit("TRCNS00203");
  220. var grid_rows = grd_msgtmpllist.rows-1;
  221. model.setvalue("/root/countnode" , grid_rows);
  222. var msgcnts = model.getValue("/root/main/list/msgtmpllist/msgcnts");
  223. msgcnts = msgcnts.replace('','');
  224. }
  225. // SMS정보조회
  226. function fGetSMSAttr() {
  227. var row = grd_msgtmpllist.row;
  228. // 선택한 채널관리 리스트항목의 대분류에 따른 채널관리 중분류를 가져온다.
  229. var msglrgcd = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("msglrgcd"));
  230. if (msglrgcd != "") {
  231. model.setValue("/root/main/msgtmpl/msglrgcd",msglrgcd);
  232. model.setValue("/root/send/info/msglrgcd",msglrgcd);
  233. submit("TRCNS00202");
  234. // 선택한 채널관리 리스트항목의 중분류를 가져온다.
  235. var msgmdlcd = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("msgmdlcd"));
  236. model.setValue("/root/main/msgtmpl/msgmdlcd",msgmdlcd);
  237. // 선택한 채널관리 리스트항목의 내용을 뿌려준다.
  238. var msgcnts = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("msgcnts"));
  239. model.setValue("/root/main/msgtmpl/msgcnts",msgcnts);
  240. var smstrsmcntcno = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("smstrsmcntcno"));
  241. model.setValue("/root/main/msgtmpl/smstrsmcntcno",smstrsmcntcno);
  242. var useyn = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("useyn"));
  243. model.setValue("/root/main/msgtmpl/useyn",useyn);
  244. var msgsmlcd = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("msgsmlcd"));
  245. model.setValue("/root/main/msgtmpl/msgsmlcd",msgsmlcd);
  246. // 조회하면 새로가져온다.
  247. // fGetMsgTmplList();
  248. model.refresh();
  249. }
  250. }
  251. //-------------------------//
  252. // 저장,수정버튼 활성화 //
  253. //-------------------------//
  254. function fGetMsgStatus(){
  255. var msgStatus = model.getValue("/root/main/msgtmpl/savemode");
  256. if(msgStatus == "I"){
  257. btn_updt.disabled = true;
  258. btn_save.disabled = false;
  259. }else if(msgStatus == "U"){
  260. btn_updt.disabled = false;
  261. btn_save.disabled = true;
  262. }else{
  263. btn_updt.disabled = true;
  264. btn_save.disabled = true;
  265. }
  266. model.refresh();
  267. }
  268. // SMS메시지 관리 삭제(사용안함 상태로 바꾸기)
  269. function fDelMsg(savemode) {
  270. var chnlflag = model.getValue("/root/send/info/chnlflag");
  271. model.setValue("/root/main/msgtmpl/chnlflag", chnlflag);
  272. if(isRequiredControls("tar_msgcnts")) {
  273. submit("TXCNS00201");
  274. messageBox("탬플릿 삭제가", "I002", "");
  275. model.resetInstanceNode("/root/main/msgtmpl/msgsmlcd");
  276. model.resetInstanceNode("/root/main/msgtmpl/msgcnts");
  277. model.resetInstanceNode("/root/main/msgtmpl/smstrsmcntcno");
  278. model.resetInstanceNode("/root/temp/prvwscrn");
  279. model.resetInstanceNode("/root/hidden/messagecnt");
  280. model.setValue("/root/main/msgtmpl/savemode", "I");
  281. model.refresh();
  282. }
  283. }
  284. function fPrvwscrn(){
  285. var msgcnts = model.getValue("/root/main/msgtmpl/msgcnts")
  286. var dutplceinstnm = getUserInfo("dutplceinstnm")
  287. var usernm = getUserInfo("usernm");
  288. var getdate = getCurrentDate();
  289. var pmonth = getdate.substr(4,2);
  290. var pdate = getdate.substr(6,2);
  291. var gettime = getCurrentTime();
  292. var phour = gettime.substr(0,2);
  293. var pmin = gettime.substr(2,2);
  294. msgcnts = msgcnts.replace('<@고객>','홍길동');
  295. msgcnts = msgcnts.replace('<@진료과>','내과');
  296. msgcnts = msgcnts.replace('<@진료의>','홍길순');
  297. msgcnts = msgcnts.replace('<@병원명>',dutplceinstnm);
  298. msgcnts = msgcnts.replace('<@월>',pmonth);
  299. msgcnts = msgcnts.replace('<@일>',pdate);
  300. msgcnts = msgcnts.replace('<@시>',phour);
  301. msgcnts = msgcnts.replace('<@분>',pmin);
  302. msgcnts = msgcnts.replace('<@처방코드>','A001');
  303. msgcnts = msgcnts.replace('<@검사실>','통증치료실');
  304. msgcnts = msgcnts.replace('<@부서위치>','본관1층');
  305. model.setValue("/root/temp/prvwscrn", msgcnts);
  306. model.refresh();
  307. var strlen = 0;
  308. var str = tar_contents.currentText
  309. for (var i=0; i<str.length; i++) {
  310. strlen += (str.charCodeAt(i) > 128) ? 2 : 1;
  311. }
  312. if (strlen > 240) {
  313. model.setValue("/root/temp/messagecnt", strlen);
  314. ipt_prvwcnt.refresh();
  315. messageBox("최대입력글자인 240 byte를 ", "E003");
  316. return false;
  317. }else{
  318. model.setValue("/root/temp/messagecnt", strlen);
  319. if (strlen > 80) {
  320. ipt_prvwcnt.visible = false;
  321. ipt_prvwcntovr.visible = true;
  322. } else {
  323. ipt_prvwcnt.visible = true;
  324. ipt_prvwcntovr.visible = false;
  325. }
  326. ipt_prvwcnt.refresh();
  327. return true;
  328. }
  329. }
  330. //=======================//
  331. //80바이트 넘으면 선긋기 //
  332. //=======================//
  333. function fGetLine(){
  334. var strlen = 0;
  335. var str = model.getValue("/root/temp/prvwscrn");
  336. var prvStr = "";
  337. var chck80 = "N";
  338. var chck160 = "N";
  339. for (var i=0; i<str.length; i++) {
  340. strlen += (str.charCodeAt(i) > 128) ? 2 : 1;
  341. prvStr += str.charAt(i);
  342. if (strlen > 80 && chck80 == "N") {
  343. prvStr += "\n"
  344. prvStr += "=================";
  345. chck80 = "Y";
  346. }
  347. if (strlen > 160 && chck160 == "N") {
  348. prvStr += "\n"
  349. prvStr += "=================";
  350. chck160 = "Y";
  351. }
  352. }
  353. if(chck80 == "Y"){
  354. model.setValue("/root/temp/prvwscrn", prvStr);
  355. model.refresh();
  356. }
  357. }
  358. ]]>
  359. </script>
  360. </xhtml:head>
  361. <xhtml:body pagewidth="1211" pageheight="784" guideline="2,736;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  362. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  363. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:145px; height:14px; ">상용구 관리</caption>
  364. </group>
  365. <group id="grp_johe" style="left:225px; top:21px; width:665px; height:55px; vertical-align:top; ">
  366. <caption id="caption4" class="tit_2" style="left:5px; top:0px; width:150px; height:14px; ">SMS</caption>
  367. <line id="line4" class="line_1" style="x1:0px; y1:14px; x2:665px; y2:14px; "/>
  368. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:20px; width:665px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  369. <caption id="caption2" class="search_name" style="left:15px; top:29px; width:70px; height:17px; ">내 용 :</caption>
  370. <input id="ipt_s_dtmntitl" ref="/root/send/data/msgcnts" class="input_search" navindex="1" style="left:85px; top:29px; width:130px; height:19px; ">
  371. <script type="javascript" ev:event="onkeyup">
  372. <![CDATA[
  373. inputEnterKey("btn_search", "DOMActivate");
  374. ]]>
  375. </script>
  376. </input>
  377. <line id="line1" class="line_4" style="x1:582px; y1:27px; x2:582px; y2:49px; "/>
  378. <button id="btn_search" class="btn1_letter2" navindex="2" style="left:597px; top:27px; width:56px; height:22px; ">
  379. <caption>조회</caption>
  380. <script type="javascript" ev:event="DOMActivate">
  381. <![CDATA[
  382. fGetMsgTmplList();
  383. // SMS등록화면 초기화
  384. model.resetInstanceNode("/root/main/msgtmpl");
  385. model.resetInstanceNode("/root/temp/prvwscrn");
  386. model.setValue("/root/main/msgtmpl/savemode", "I");
  387. //저장 수정버튼 활성화 구분
  388. fGetMsgStatus();
  389. ]]>
  390. </script>
  391. </button>
  392. </group>
  393. <group id="group2" style="left:224px; top:76px; width:666px; height:267px; ">
  394. <caption id="caption9" class="tit_2" style="left:5px; top:10px; width:150px; height:13px; ">상용구 리스트</caption>
  395. <button id="btn_del" class="btn5_letter2" style="left:624px; top:5px; width:42px; height:19px; ">
  396. <caption>삭제</caption>
  397. <script type="javascript" ev:event="DOMActivate">
  398. <![CDATA[
  399. if(model.getValue("/root/main/msgtmpl/msgsmlcd")!=""){
  400. if (messageBox("선택된 SMS 상용구를","Q001")==6){
  401. submit("TRCNS00204");
  402. var selKey = grd_msgtmpllist.valueMatrix(grd_msgtmpllist.row,grd_msgtmpllist.colRef("msgsmlcd"));
  403. var grid = grd_msgtmplkeylist;
  404. for(i=1; grid.rows>i; i++){
  405. if(selKey == grid.valueMatrix(i,grid.colRef("msgsmlcd"))){
  406. var basersrvcnts = grid.valueMatrix(i,grid.colRef("basersrvcnts"));
  407. var addrsrvcnts = grid.valueMatrix(i,grid.colRef("addrsrvcnts"));
  408. var cmpncnts = grid.valueMatrix(i,grid.colRef("cmpncnts"));
  409. var tmpldtmncnts = grid.valueMatrix(i,grid.colRef("tmpldtmncnts"));
  410. if((basersrvcnts == "" || basersrvcnts == "0")
  411. && (addrsrvcnts == "" || addrsrvcnts == "0")
  412. && (cmpncnts == "" || cmpncnts == "0")
  413. && (tmpldtmncnts == "" || tmpldtmncnts == "0")){
  414. grd_msgtmpllist.deleteItem(grd_msgtmpllist.selectedRow(0));
  415. model.setValue("/root/main/msgtmpl/useyn","N");
  416. var savemode = "U";
  417. fDelMsg(savemode);
  418. }else{
  419. messageBox("사용중인 SMS 상용구이므로 삭제", "E001");
  420. return;
  421. }
  422. }
  423. }
  424. }
  425. }else{
  426. messageBox("삭제할 SMS 상용구를", "C002");
  427. }
  428. ]]>
  429. </script>
  430. </button>
  431. <line id="line2" class="line_1" style="x1:0px; y1:26px; x2:665px; y2:26px; "/>
  432. <datagrid id="grd_msgtmpllist" nodeset="/root/main/list/msgtmpllist" allowselection="false" caption="코드^메시지^회신 전화번호^등록자" colsep="^" colwidth="41, 440, 86, 48, 0, 0, 0, 0" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" tooltip="true" style="left:1px; top:31px; width:664px; height:236px; ">
  433. <col ref="msgsmlcd" style="text-align:center; "/>
  434. <col ref="msgcnts"/>
  435. <col ref="smstrsmcntcno" style="text-align:center; "/>
  436. <col ref="usernm" style="text-align:center; "/>
  437. <col ref="msglrgcd" visibility="hidden"/>
  438. <col ref="msgmdlcd" visibility="hidden"/>
  439. <col ref="useyn" visibility="hidden"/>
  440. <col ref="rgstdeptnm" visibility="hidden"/>
  441. <script type="javascript" ev:event="onclick">
  442. <![CDATA[
  443. if( grd_msgtmpllist.isCell(event.target) && grd_msgtmpllist.row >= grd_msgtmpllist.fixedRows ){
  444. fGetSMSAttr(); // SMS메시지 정보조회
  445. fGetCheckMsgCnts();//문자 용량
  446. fPrvwscrn();//미리보기
  447. fGetLine();
  448. model.setValue("/root/main/msgtmpl/savemode","U");
  449. //저장 수정버튼 활성화 구분
  450. fGetMsgStatus();
  451. model.setValue("/root/hidden/msgsmlcd",grd_msgtmpllist.valueMatrix(grd_msgtmpllist.row,grd_msgtmpllist.colRef("msgsmlcd")));
  452. }
  453. ]]>
  454. </script>
  455. <script type="javascript" ev:event="onrowchanged">
  456. <![CDATA[
  457. fGetSMSAttr(); // SMS메시지 정보조회
  458. fGetCheckMsgCnts();//문자 용량
  459. fPrvwscrn();//미리보기
  460. fGetLine();
  461. model.setValue("/root/main/msgtmpl/savemode","U");
  462. //저장 수정버튼 활성화 구분
  463. fGetMsgStatus();
  464. ]]>
  465. </script>
  466. </datagrid>
  467. <datagrid id="grd_msgtmplkeylist" nodeset="/root/main/list/msgtmplkeylist" visibility="hidden" caption="대^중^소^병원전송^부서전송^캠페인^템플릿마이닝^종류^등록자" colsep="^" colwidth="50, 50, 50, 60, 60, 67, 92, 60, 49" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:40px; top:135px; width:580px; height:110px; ">
  468. <col ref="msglrgcd"/>
  469. <col ref="msgmdlcd"/>
  470. <col ref="msgsmlcd"/>
  471. <col ref="basersrvcnts"/>
  472. <col ref="addrsrvcnts"/>
  473. <col ref="cmpncnts"/>
  474. <col ref="tmpldtmncnts"/>
  475. <col ref="chnlflag"/>
  476. <col ref="usernm"/>
  477. </datagrid>
  478. </group>
  479. <group id="group1" style="left:224px; top:345px; width:410px; height:435px; ">
  480. <shape id="rectangle1" appearance="rectangle" style="left:1px; top:30px; width:409px; height:378px; border-color:#c0c0c0; "/>
  481. <caption id="caption6" class="tit_2" style="left:5px; top:10px; width:150px; height:13px; ">SMS 상용구 작성</caption>
  482. <line id="line3" class="line_1" style="x1:1px; y1:25px; x2:410px; y2:25px; "/>
  483. <img id="img_smsbg" src="../../../com/commonweb/images/sms_half_bg_new.gif" style="left:107px; top:62px; width:204px; height:295px; background-stretch:stretch; "/>
  484. <caption id="caption8" style="left:251px; top:279px; width:44px; height:25px; font-weight:bold; color:#ffffff; ">/80</caption>
  485. <input id="ipt_messagecnt" ref="/root/hidden/messagecnt" class="input_default" editable="false" maxlength="20" style="left:227px; top:283px; width:30px; height:19px; font-weight:bold; color:#ffffff; background-color:transparent; border-style:none; "/>
  486. <textarea id="tar_msgcnts" ref="/root/main/msgtmpl/msgcnts" class="input_default" scroll="vertical" style="left:156px; top:135px; width:127px; height:132px; color:#ffffff; background-color:transparent; border-style:none; ">
  487. <script type="javascript" ev:event="onkeyup">
  488. <![CDATA[
  489. fGetCheckMsgCnts();
  490. ]]>
  491. </script>
  492. </textarea>
  493. <caption id="cap_smstrsmcntcno" class="cell_1" style="left:114px; top:320px; width:70px; height:23px; text-align:center; background-color:transparent; ">회신 번호</caption>
  494. <input id="ipt_smstrsmcntcno" ref="/root/main/msgtmpl/smstrsmcntcno" class="input_default" maxlength="20" style="left:181px; top:321px; width:110px; height:19px; background-color:#ffffff; "/>
  495. <button id="btn_prvw" class="btn5_letter4" style="left:190px; top:411px; width:64px; height:19px; ">
  496. <caption>미리보기</caption>
  497. <script type="javascript" ev:event="DOMActivate">
  498. <![CDATA[
  499. fPrvwscrn();
  500. fGetLine();
  501. ]]>
  502. </script>
  503. </button>
  504. <button id="btn_init" class="btn5_letter3" style="left:1px; top:411px; width:53px; height:19px; ">
  505. <caption>초기화</caption>
  506. <script type="javascript" ev:event="DOMActivate">
  507. <![CDATA[
  508. fInitiate();
  509. ]]>
  510. </script>
  511. </button>
  512. <button id="btn_save" class="btn5_letter5" style="left:257px; top:411px; width:75px; height:19px; ">
  513. <caption>메시지저장</caption>
  514. <script type="javascript" ev:event="DOMActivate">
  515. <![CDATA[
  516. if(fMsgValid()){
  517. model.setValue("/root/main/msgtmpl/useyn","Y");
  518. var savemode = model.getValue("/root/main/msgtmpl/savemode");
  519. fSaveMsg(savemode); //SMS메시지관리 속성 저장(I:등록, U:수정)
  520. model.setValue("/root/send/data/mdlgrupcd", model.getValue("/root/main/msgtmpl/msgmdlcd"));
  521. submit("TRCNS00203"); //재조회
  522. model.setValue("/root/send/data/mdlgrupcd", "");
  523. opener.javascript.fGetChnlLrgCd(); //opener의 메시지 대분류 리로드
  524. }
  525. ]]>
  526. </script>
  527. </button>
  528. <button id="btn_updt" class="btn5_letter5" style="left:335px; top:411px; width:75px; height:19px; ">
  529. <caption>메시지수정</caption>
  530. <script type="javascript" ev:event="DOMActivate">
  531. <![CDATA[
  532. if(fMsgValid()){
  533. model.setValue("/root/main/msgtmpl/useyn","Y");
  534. var savemode = model.getValue("/root/main/msgtmpl/savemode");
  535. fSaveMsg(savemode); //SMS메시지관리 속성 저장(I:등록, U:수정)
  536. model.setValue("/root/send/data/mdlgrupcd", model.getValue("/root/main/msgtmpl/msgmdlcd"));
  537. submit("TRCNS00203"); //재조회
  538. model.setValue("/root/send/data/mdlgrupcd", "");
  539. opener.javascript.fGetChnlLrgCd(); //opener의 메시지 대분류 리로드
  540. }
  541. ]]>
  542. </script>
  543. </button>
  544. </group>
  545. <group id="group3" style="left:739px; top:345px; width:451px; height:410px; ">
  546. <shape id="rectangle3" appearance="rectangle" style="left:0px; top:30px; width:451px; height:93px; border-color:#c0c0c0; "/>
  547. <shape id="rectangle4" appearance="rectangle" style="left:0px; top:155px; width:451px; height:253px; border-color:#c0c0c0; "/>
  548. <caption id="caption12" class="tit_2" style="left:5px; top:10px; width:85px; height:14px; ">특수문자</caption>
  549. <line id="line9" class="line_1" style="x1:0px; y1:25px; x2:450px; y2:25px; "/>
  550. <line id="line5" class="line_1" style="x1:0px; y1:150px; x2:450px; y2:150px; "/>
  551. <caption id="caption7" class="tit_2" style="left:5px; top:135px; width:85px; height:13px; ">이모티콘</caption>
  552. <group id="group10" style="left:3px; top:156px; width:447px; height:249px; ">
  553. <caption id="caption5" style="left:0px; top:0px; width:446px; height:65px; background-color:#e9f7fe; "/>
  554. <caption id="caption13" style="left:0px; top:70px; width:446px; height:65px; background-color:#e9f7fe; "/>
  555. <caption id="caption14" style="left:0px; top:140px; width:446px; height:108px; background-color:#e9f7fe; "/>
  556. <button id="button74" style="left:8px; top:105px; width:45px; height:19px; background-color:transparent; border-style:none; ">
  557. <caption>n.n</caption>
  558. </button>
  559. <button id="button75" style="left:55px; top:105px; width:45px; height:19px; ">
  560. <caption>^Δ^</caption>
  561. </button>
  562. <button id="button76" style="left:107px; top:105px; width:45px; height:19px; ">
  563. <caption>^v^</caption>
  564. </button>
  565. <button id="button77" style="left:394px; top:34px; width:31px; height:19px; ">
  566. <caption>^.^</caption>
  567. </button>
  568. <button id="button78" style="left:280px; top:12px; width:45px; height:19px; ">
  569. <caption>^_^</caption>
  570. </button>
  571. <button id="button79" style="left:159px; top:105px; width:45px; height:19px; ">
  572. <caption>^O^</caption>
  573. </button>
  574. <button id="button80" style="left:8px; top:83px; width:45px; height:19px; ">
  575. <caption>^L^</caption>
  576. </button>
  577. <button id="button81" style="left:332px; top:12px; width:45px; height:19px; ">
  578. <caption>⌒⌒</caption>
  579. </button>
  580. <button id="button82" style="left:226px; top:105px; width:45px; height:19px; ">
  581. <caption>^.~</caption>
  582. </button>
  583. <button id="button83" style="left:55px; top:83px; width:45px; height:19px; ">
  584. <caption>^ε^</caption>
  585. </button>
  586. <button id="button84" style="left:389px; top:12px; width:36px; height:19px; ">
  587. <caption>^-^b</caption>
  588. </button>
  589. <button id="button85" style="left:288px; top:105px; width:45px; height:19px; ">
  590. <caption>*^^*</caption>
  591. </button>
  592. <button id="button86" style="left:107px; top:83px; width:45px; height:19px; ">
  593. <caption>^▽^</caption>
  594. </button>
  595. <button id="button87" style="left:8px; top:34px; width:37px; height:19px; ">
  596. <caption>=^.^=</caption>
  597. </button>
  598. <button id="button88" style="left:345px; top:105px; width:45px; height:19px; ">
  599. <caption>(^^)γ</caption>
  600. </button>
  601. <button id="button89" style="left:159px; top:83px; width:45px; height:19px; ">
  602. <caption>o(^-^)o</caption>
  603. </button>
  604. <button id="button90" style="left:57px; top:34px; width:45px; height:19px; ">
  605. <caption>(*^-^)</caption>
  606. </button>
  607. <button id="button91" style="left:397px; top:105px; width:45px; height:19px; ">
  608. <caption>(*^o^*)</caption>
  609. </button>
  610. <button id="button92" style="left:226px; top:83px; width:45px; height:19px; ">
  611. <caption>^o^~~♬</caption>
  612. </button>
  613. <button id="button93" style="left:109px; top:34px; width:45px; height:19px; ">
  614. <caption>☞^.^☜</caption>
  615. </button>
  616. <button id="button94" style="left:288px; top:83px; width:45px; height:19px; ">
  617. <caption>S(^.^)b</caption>
  618. </button>
  619. <button id="button95" style="left:166px; top:34px; width:45px; height:19px; ">
  620. <caption>( ̄∇ ̄)</caption>
  621. </button>
  622. <button id="button96" style="left:5px; top:12px; width:45px; height:19px; ">
  623. <caption>(*^-^*)</caption>
  624. </button>
  625. <button id="button97" style="left:345px; top:83px; width:45px; height:19px; ">
  626. <caption>(^o^)/</caption>
  627. </button>
  628. <button id="button98" style="left:223px; top:34px; width:45px; height:19px; ">
  629. <caption>♥.♥</caption>
  630. </button>
  631. <button id="button99" style="left:57px; top:12px; width:31px; height:19px; ">
  632. <caption>♡.♡</caption>
  633. </button>
  634. <button id="button100" style="left:397px; top:83px; width:45px; height:19px; ">
  635. <caption>*♥o♥*</caption>
  636. </button>
  637. <button id="button101" style="left:280px; top:34px; width:45px; height:19px; ">
  638. <caption>(~.^)s</caption>
  639. </button>
  640. <button id="button102" style="left:109px; top:12px; width:45px; height:19px; ">
  641. <caption>☞♡☜</caption>
  642. </button>
  643. <button id="button103" style="left:332px; top:34px; width:45px; height:19px; ">
  644. <caption>γ^ε^γ</caption>
  645. </button>
  646. <button id="button104" style="left:166px; top:12px; width:45px; height:19px; ">
  647. <caption>(♡.♡)</caption>
  648. </button>
  649. <button id="button105" style="left:223px; top:12px; width:45px; height:19px; ">
  650. <caption>(*`0`*)</caption>
  651. </button>
  652. <button id="button4" style="left:5px; top:216px; width:55px; height:19px; ">
  653. <caption>(⌒ε⌒*)</caption>
  654. </button>
  655. <button id="button5" style="left:400px; top:187px; width:45px; height:19px; ">
  656. <caption>(*^}{^*)</caption>
  657. </button>
  658. <button id="button7" style="left:5px; top:155px; width:55px; height:19px; ">
  659. <caption>づ^O^)づ</caption>
  660. </button>
  661. <button id="button8" style="left:5px; top:187px; width:55px; height:19px; ">
  662. <caption>☜(^^*)☞</caption>
  663. </button>
  664. <button id="button9" style="left:239px; top:155px; width:55px; height:19px; ">
  665. <caption>(*^з(^^*)</caption>
  666. </button>
  667. <button id="button10" style="left:154px; top:155px; width:45px; height:19px; ">
  668. <caption>(^*^)</caption>
  669. </button>
  670. <button id="button11" style="left:70px; top:155px; width:65px; height:19px; ">
  671. <caption>(つ^з^)つ</caption>
  672. </button>
  673. <button id="button12" style="left:305px; top:155px; width:75px; height:19px; ">
  674. <caption>(*⌒.^)(^ε⌒*)</caption>
  675. </button>
  676. <button id="button13" style="left:305px; top:187px; width:75px; height:19px; ">
  677. <caption>(*^-^)♡(^o^*)</caption>
  678. </button>
  679. <button id="button106" style="left:199px; top:155px; width:45px; height:19px; ">
  680. <caption>~o~</caption>
  681. </button>
  682. <button id="button107" style="left:259px; top:187px; width:45px; height:19px; ">
  683. <caption>⊙.⊙</caption>
  684. </button>
  685. <button id="button108" style="left:199px; top:187px; width:45px; height:19px; ">
  686. <caption>^----^</caption>
  687. </button>
  688. <button id="button109" style="left:154px; top:187px; width:45px; height:19px; ">
  689. <caption>^.~♥</caption>
  690. </button>
  691. <button id="button110" style="left:74px; top:187px; width:61px; height:19px; ">
  692. <caption>♬(^O^)~♪</caption>
  693. </button>
  694. <button id="button111" style="left:75px; top:217px; width:56px; height:19px; ">
  695. <caption>s( ̄▽ ̄)/</caption>
  696. </button>
  697. <button id="button112" style="left:405px; top:156px; width:40px; height:19px; ">
  698. <caption>(*^.^)</caption>
  699. </button>
  700. <script type="javascript" ev:event="onclick">
  701. <![CDATA[
  702. var trgObj = document.controls.item(event.target);
  703. if( trgObj.elementName == "xforms:button" ) {
  704. var btnMark = trgObj.label;
  705. var txtSelPos = tar_msgcnts.selBegin;
  706. var curText = tar_msgcnts.currentText;
  707. var curTextBefore = curText.substr(0, txtSelPos);
  708. var curTextAfter = curText.substr(txtSelPos, curText.length);
  709. tar_msgcnts.currentText = curTextBefore + btnMark + curTextAfter;
  710. var endTxt = tar_msgcnts.currentText;
  711. model.setFocus("tar_msgcnts");
  712. tar_msgcnts.selBegin = endTxt.length-curTextAfter.length;
  713. tar_msgcnts.dispatch("onkeyup");
  714. }
  715. ]]>
  716. </script>
  717. </group>
  718. <group id="group4" style="left:2px; top:31px; width:438px; height:90px; ">
  719. <button id="button1" style="left:5px; top:68px; width:17px; height:19px; background-color:transparent; border-style:none; ">
  720. <caption>@</caption>
  721. </button>
  722. <button id="button2" style="left:27px; top:68px; width:17px; height:19px; ">
  723. <caption>♨</caption>
  724. </button>
  725. <button id="button3" style="left:49px; top:68px; width:17px; height:19px; ">
  726. <caption>☎</caption>
  727. </button>
  728. <button id="button6" style="left:159px; top:24px; width:17px; height:19px; ">
  729. <caption>♥</caption>
  730. </button>
  731. <button id="button14" style="left:115px; top:2px; width:17px; height:19px; ">
  732. <caption>◎</caption>
  733. </button>
  734. <button id="button15" style="left:71px; top:68px; width:17px; height:19px; ">
  735. <caption>☜</caption>
  736. </button>
  737. <button id="button16" style="left:5px; top:46px; width:17px; height:19px; ">
  738. <caption>♧</caption>
  739. </button>
  740. <button id="button17" style="left:137px; top:2px; width:17px; height:19px; ">
  741. <caption>◇</caption>
  742. </button>
  743. <button id="button18" style="left:93px; top:68px; width:17px; height:19px; ">
  744. <caption>☞</caption>
  745. </button>
  746. <button id="button19" style="left:27px; top:46px; width:17px; height:19px; ">
  747. <caption>♣</caption>
  748. </button>
  749. <button id="button20" style="left:159px; top:2px; width:17px; height:19px; ">
  750. <caption>◆</caption>
  751. </button>
  752. <button id="button21" style="left:115px; top:68px; width:17px; height:19px; ">
  753. <caption>%</caption>
  754. </button>
  755. <button id="button22" style="left:49px; top:46px; width:17px; height:19px; ">
  756. <caption>◁</caption>
  757. </button>
  758. <button id="button23" style="left:5px; top:24px; width:17px; height:19px; ">
  759. <caption>□</caption>
  760. </button>
  761. <button id="button24" style="left:137px; top:68px; width:17px; height:19px; ">
  762. <caption>☏</caption>
  763. </button>
  764. <button id="button25" style="left:71px; top:46px; width:17px; height:19px; ">
  765. <caption>◀</caption>
  766. </button>
  767. <button id="button26" style="left:27px; top:24px; width:17px; height:19px; ">
  768. <caption>■</caption>
  769. </button>
  770. <button id="button27" style="left:159px; top:68px; width:17px; height:19px; ">
  771. <caption>♪</caption>
  772. </button>
  773. <button id="button28" style="left:93px; top:46px; width:17px; height:19px; ">
  774. <caption>▷</caption>
  775. </button>
  776. <button id="button29" style="left:49px; top:24px; width:17px; height:19px; ">
  777. <caption>△</caption>
  778. </button>
  779. <button id="button30" style="left:115px; top:46px; width:17px; height:19px; ">
  780. <caption>▶</caption>
  781. </button>
  782. <button id="button31" style="left:71px; top:24px; width:17px; height:19px; ">
  783. <caption>▲</caption>
  784. </button>
  785. <button id="button32" style="left:5px; top:2px; width:17px; height:19px; ">
  786. <caption>●</caption>
  787. </button>
  788. <button id="button33" style="left:137px; top:46px; width:17px; height:19px; ">
  789. <caption>♤</caption>
  790. </button>
  791. <button id="button34" style="left:93px; top:24px; width:17px; height:19px; ">
  792. <caption>▽</caption>
  793. </button>
  794. <button id="button35" style="left:27px; top:2px; width:17px; height:19px; ">
  795. <caption>※</caption>
  796. </button>
  797. <button id="button36" style="left:159px; top:46px; width:17px; height:19px; ">
  798. <caption>♠</caption>
  799. </button>
  800. <button id="button37" style="left:115px; top:24px; width:17px; height:19px; ">
  801. <caption>▼</caption>
  802. </button>
  803. <button id="button38" style="left:49px; top:2px; width:17px; height:19px; ">
  804. <caption>☆</caption>
  805. </button>
  806. <button id="button39" style="left:137px; top:24px; width:17px; height:19px; ">
  807. <caption>♡</caption>
  808. </button>
  809. <button id="button40" style="left:71px; top:2px; width:17px; height:19px; ">
  810. <caption>★</caption>
  811. </button>
  812. <button id="button41" style="left:93px; top:2px; width:17px; height:19px; ">
  813. <caption>○</caption>
  814. </button>
  815. <button id="button42" style="left:179px; top:68px; width:17px; height:19px; ">
  816. <caption>♬</caption>
  817. </button>
  818. <button id="button43" style="left:199px; top:68px; width:17px; height:19px; ">
  819. <caption>♩</caption>
  820. </button>
  821. <button id="button44" style="left:179px; top:24px; width:17px; height:19px; ">
  822. <caption>ㆀ</caption>
  823. </button>
  824. <button id="button45" style="left:179px; top:46px; width:17px; height:19px; ">
  825. <caption>▣</caption>
  826. </button>
  827. <button id="button46" style="left:259px; top:2px; width:17px; height:19px; ">
  828. <caption>→</caption>
  829. </button>
  830. <button id="button47" style="left:239px; top:2px; width:17px; height:19px; ">
  831. <caption>←</caption>
  832. </button>
  833. <button id="button48" style="left:219px; top:2px; width:17px; height:19px; ">
  834. <caption>▒</caption>
  835. </button>
  836. <button id="button49" style="left:199px; top:2px; width:17px; height:19px; ">
  837. <caption>▦</caption>
  838. </button>
  839. <button id="button50" style="left:179px; top:2px; width:17px; height:19px; ">
  840. <caption>▤</caption>
  841. </button>
  842. <button id="button51" style="left:279px; top:2px; width:17px; height:19px; ">
  843. <caption>Ø</caption>
  844. </button>
  845. <button id="button52" style="left:259px; top:24px; width:17px; height:19px; ">
  846. <caption>↓</caption>
  847. </button>
  848. <button id="button53" style="left:239px; top:24px; width:17px; height:19px; ">
  849. <caption>↑</caption>
  850. </button>
  851. <button id="button54" style="left:219px; top:24px; width:17px; height:19px; ">
  852. <caption>◇</caption>
  853. </button>
  854. <button id="button55" style="left:199px; top:24px; width:17px; height:19px; ">
  855. <caption>▨</caption>
  856. </button>
  857. <button id="button56" style="left:259px; top:46px; width:17px; height:19px; ">
  858. <caption>§</caption>
  859. </button>
  860. <button id="button57" style="left:239px; top:46px; width:17px; height:19px; ">
  861. <caption>⇒</caption>
  862. </button>
  863. <button id="button58" style="left:219px; top:46px; width:17px; height:19px; ">
  864. <caption>◈</caption>
  865. </button>
  866. <button id="button59" style="left:199px; top:46px; width:17px; height:19px; ">
  867. <caption>▩</caption>
  868. </button>
  869. <button id="button60" style="left:279px; top:24px; width:17px; height:19px; ">
  870. <caption>∀</caption>
  871. </button>
  872. <button id="button61" style="left:259px; top:68px; width:17px; height:19px; ">
  873. <caption>◑</caption>
  874. </button>
  875. <button id="button62" style="left:239px; top:68px; width:17px; height:19px; ">
  876. <caption>◐</caption>
  877. </button>
  878. <button id="button63" style="left:219px; top:68px; width:17px; height:19px; ">
  879. <caption>⊙</caption>
  880. </button>
  881. <button id="button64" style="left:319px; top:68px; width:17px; height:19px; ">
  882. <caption>≥</caption>
  883. </button>
  884. <button id="button65" style="left:299px; top:68px; width:17px; height:19px; ">
  885. <caption>≤</caption>
  886. </button>
  887. <button id="button66" style="left:379px; top:68px; width:17px; height:19px; ">
  888. <caption>!</caption>
  889. </button>
  890. <button id="button67" style="left:359px; top:68px; width:17px; height:19px; ">
  891. <caption>』</caption>
  892. </button>
  893. <button id="button68" style="left:339px; top:68px; width:17px; height:19px; ">
  894. <caption>『</caption>
  895. </button>
  896. <button id="button69" style="left:279px; top:68px; width:17px; height:19px; ">
  897. <caption>∏</caption>
  898. </button>
  899. <button id="button70" style="left:279px; top:46px; width:17px; height:19px; ">
  900. <caption>∃</caption>
  901. </button>
  902. <button id="button71" style="left:379px; top:46px; width:17px; height:19px; ">
  903. <caption>≫</caption>
  904. </button>
  905. <button id="button72" style="left:359px; top:46px; width:17px; height:19px; ">
  906. <caption>≪</caption>
  907. </button>
  908. <button id="button73" style="left:339px; top:46px; width:17px; height:19px; ">
  909. <caption>℡</caption>
  910. </button>
  911. <button id="button119" style="left:319px; top:46px; width:17px; height:19px; ">
  912. <caption>&#187;</caption>
  913. </button>
  914. <button id="button120" style="left:299px; top:46px; width:17px; height:19px; ">
  915. <caption>&#171;</caption>
  916. </button>
  917. <button id="button121" style="left:379px; top:24px; width:17px; height:19px; ">
  918. <caption>¥</caption>
  919. </button>
  920. <button id="button122" style="left:359px; top:24px; width:17px; height:19px; ">
  921. <caption>¢</caption>
  922. </button>
  923. <button id="button123" style="left:339px; top:24px; width:17px; height:19px; ">
  924. <caption>⊃</caption>
  925. </button>
  926. <button id="button124" style="left:319px; top:24px; width:17px; height:19px; ">
  927. <caption>≠</caption>
  928. </button>
  929. <button id="button125" style="left:299px; top:24px; width:17px; height:19px; ">
  930. <caption>∽</caption>
  931. </button>
  932. <button id="button126" style="left:379px; top:2px; width:17px; height:19px; ">
  933. <caption>∴</caption>
  934. </button>
  935. <button id="button127" style="left:359px; top:2px; width:17px; height:19px; ">
  936. <caption>∬</caption>
  937. </button>
  938. <button id="button128" style="left:339px; top:2px; width:17px; height:19px; ">
  939. <caption>∪</caption>
  940. </button>
  941. <button id="button129" style="left:319px; top:2px; width:17px; height:19px; ">
  942. <caption>∧</caption>
  943. </button>
  944. <button id="button130" style="left:299px; top:2px; width:17px; height:19px; ">
  945. <caption>∞</caption>
  946. </button>
  947. <script type="javascript" ev:event="onclick">
  948. <![CDATA[
  949. var trgObj = document.controls.item(event.target);
  950. if( trgObj.elementName == "xforms:button" ) {
  951. var btnMark = trgObj.label;
  952. var txtSelPos = tar_msgcnts.selBegin;
  953. var curText = tar_msgcnts.currentText;
  954. var curTextBefore = curText.substr(0, txtSelPos);
  955. var curTextAfter = curText.substr(txtSelPos, curText.length);
  956. tar_msgcnts.currentText = curTextBefore + btnMark + curTextAfter;
  957. model.setFocus("tar_msgcnts");
  958. tar_msgcnts.selBegin = txtSelPos + 1;
  959. tar_msgcnts.dispatch("onkeyup");
  960. }
  961. ]]>
  962. </script>
  963. </group>
  964. </group>
  965. <group id="group12" style="left:0px; top:23px; width:225px; height:757px; ">
  966. <button id="btn_sms" class="btn_sw" group="tab" style="left:0px; top:5px; width:71px; height:22px; ">
  967. <caption>SMS</caption>
  968. <script type="javascript" ev:event="DOMActivate">
  969. <![CDATA[
  970. ]]>
  971. </script>
  972. </button>
  973. <import id="import1" src="./SSCNS00300_채널그룹트리.xrw" style="left:0px; top:30px; width:215px; height:727px; "/>
  974. </group>
  975. <group id="group6" style="left:895px; top:10px; width:295px; height:335px; ">
  976. <caption id="caption3" class="tit_2" style="left:5px; top:10px; width:150px; height:13px; ">미리보기 화면</caption>
  977. <line id="line6" class="line_1" style="x1:0px; y1:25px; x2:294px; y2:25px; "/>
  978. <shape id="rectangle2" appearance="rectangle" style="left:0px; top:30px; width:294px; height:305px; border-color:#c0c0c0; "/>
  979. <img id="img1" src="../../../com/commonweb/images/sms_half_bg_new.gif" style="left:45px; top:32px; width:204px; height:295px; background-stretch:stretch; "/>
  980. <caption id="caption10" style="left:181px; top:244px; width:44px; height:25px; font-weight:bold; color:#ffffff; ">/80</caption>
  981. <input id="ipt_prvwcnt" ref="/root/temp/messagecnt" class="input_default" editable="false" maxlength="20" style="left:157px; top:248px; width:30px; height:19px; font-weight:bold; color:#ffffff; background-color:transparent; border-style:none; "/>
  982. <input id="ipt_prvwcntovr" ref="/root/temp/messagecnt" class="input_default" editable="false" maxlength="20" style="left:157px; top:248px; width:30px; height:19px; font-weight:bold; color:red; background-color:transparent; border-style:none; "/>
  983. <textarea id="tar_contents" ref="/root/temp/prvwscrn" class="input_default" scroll="vertical" editable="false" maxlength="55" style="left:93px; top:105px; width:127px; height:132px; color:#ffffff; background-color:transparent; border-style:none; "/>
  984. <caption id="caption11" style="left:59px; top:289px; width:61px; height:23px; text-align:center; ">회신 번호</caption>
  985. <input id="ipt_smstrsmcntcnoprvw" ref="/root/main/msgtmpl/smstrsmcntcno" class="input_default" disabled="true" maxlength="20" style="left:119px; top:290px; width:110px; height:19px; background-color:transparent; "/>
  986. </group>
  987. <group id="group7" style="left:637px; top:345px; width:101px; height:410px; ">
  988. <shape id="rectangle5" appearance="rectangle" style="left:1px; top:30px; width:96px; height:378px; border-color:#c0c0c0; "/>
  989. <caption id="caption15" class="tit_2" style="left:5px; top:10px; width:82px; height:14px; ">자동입력어</caption>
  990. <line id="line7" class="line_1" style="x1:1px; y1:25px; x2:97px; y2:25px; "/>
  991. <group id="group5" style="left:3px; top:32px; width:75px; height:258px; ">
  992. <button id="button131" class="btn2_letter3" style="left:5px; top:2px; width:53px; height:19px; ">
  993. <caption>고객</caption>
  994. </button>
  995. <button id="button132" class="btn2_letter3" style="left:5px; top:25px; width:53px; height:19px; ">
  996. <caption>진료과</caption>
  997. </button>
  998. <button id="button133" class="btn2_letter3" style="left:5px; top:48px; width:53px; height:19px; ">
  999. <caption>진료의</caption>
  1000. </button>
  1001. <button id="button134" class="btn2_letter3" style="left:5px; top:71px; width:53px; height:19px; ">
  1002. <caption>병원명</caption>
  1003. </button>
  1004. <button id="button135" class="btn2_letter3" style="left:5px; top:94px; width:53px; height:19px; ">
  1005. <caption>월</caption>
  1006. </button>
  1007. <button id="button136" class="btn2_letter3" style="left:5px; top:117px; width:53px; height:19px; ">
  1008. <caption>일</caption>
  1009. </button>
  1010. <button id="button137" class="btn2_letter3" style="left:5px; top:140px; width:53px; height:19px; ">
  1011. <caption>시</caption>
  1012. </button>
  1013. <button id="button138" class="btn2_letter3" style="left:5px; top:163px; width:53px; height:19px; ">
  1014. <caption>분</caption>
  1015. </button>
  1016. <button id="button139" class="btn2_letter4" style="left:5px; top:186px; width:53px; height:19px; ">
  1017. <caption>검사실</caption>
  1018. </button>
  1019. <button id="button140" class="btn2_letter4" style="left:5px; top:209px; width:64px; height:19px; ">
  1020. <caption>처방코드</caption>
  1021. </button>
  1022. <button id="button141" class="btn2_letter4" style="left:5px; top:232px; width:64px; height:19px; ">
  1023. <caption>부서위치</caption>
  1024. </button>
  1025. <script type="javascript" ev:event="onclick">
  1026. <![CDATA[
  1027. var trgObj = document.controls.item(event.target);
  1028. if( trgObj.elementName == "xforms:button" ) {
  1029. var btnMark = "<@" + trgObj.label + ">";
  1030. var txtSelPos = tar_msgcnts.selBegin;
  1031. var curText = tar_msgcnts.currentText;
  1032. var curTextBefore = curText.substr(0, txtSelPos);
  1033. var curTextAfter = curText.substr(txtSelPos, curText.length);
  1034. tar_msgcnts.currentText = curTextBefore + btnMark + curTextAfter;
  1035. var endTxt = tar_msgcnts.currentText;
  1036. model.setFocus("tar_msgcnts");
  1037. tar_msgcnts.selBegin = endTxt.length-curTextAfter.length;
  1038. tar_msgcnts.dispatch("onkeyup");
  1039. }
  1040. ]]>
  1041. </script>
  1042. </group>
  1043. </group>
  1044. <group id="group8" scroll="auto" style="left:750px; top:755px; width:440px; height:22px; ">
  1045. <button id="button113" class="btn4_letter2" style="left:382px; top:0px; width:56px; height:22px; ">
  1046. <caption>닫기</caption>
  1047. <script type="javascript" ev:event="DOMActivate">
  1048. <![CDATA[
  1049. // opener.javascript.fGetChnlLrgCd(); //opener의 메시지 대분류 리로드
  1050. window.close();
  1051. ]]>
  1052. </script>
  1053. </button>
  1054. </group>
  1055. </xhtml:body>
  1056. </xhtml:html>