SPCIT00900_만족도실행대상관리.xrw 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * Name : SPCIT00900_만족도실행대상관리
  4. * Summary : 만족도 실행 대상 관리
  5. * Programmer : 황현석
  6. * Date Written : 2010.06.30
  7. * History :
  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>만족도 실행 대상 관리</xhtml:title>
  14. <model id="model1">
  15. <instance id="instance1">
  16. <root xmlns="">
  17. <main>
  18. <exectrgtgrd>
  19. <inneremp>
  20. <chk/>
  21. <trgtmannm/>
  22. <userid/>
  23. <depthngnm/>
  24. <trgtjobgradcd/>
  25. <trgtjobkindcd/>
  26. <trgtjobrespcd/>
  27. <trgtdeptcd/>
  28. <emailaddr/>
  29. <mdcrdryn/>
  30. <stintrgtflagcd/>
  31. </inneremp>
  32. <patgrup>
  33. <chk/>
  34. <trgtmannm/>
  35. <pid/>
  36. <ptage/>
  37. <sex/>
  38. <inhospyn/>
  39. <wardcd/>
  40. <orddd/>
  41. <dschddd/>
  42. <emailaddr/>
  43. <stintrgtflagcd/>
  44. </patgrup>
  45. <choitrgtlist>
  46. <chk/>
  47. <stintrgtflagcd/>
  48. <trgtmannm/>
  49. <tgps_id/>
  50. <depthngnm/>
  51. <trgtjobgradcd/>
  52. <trgtjobkindcd/>
  53. <trgtjobrespcd/>
  54. <emailaddr/>
  55. <trgtdeptcd/>
  56. <mdcrdryn/>
  57. <pid/>
  58. <userid/>
  59. </choitrgtlist>
  60. <chkvalue1/>
  61. <chkvalue2/>
  62. <chkvalue3/>
  63. <attr/>
  64. </exectrgtgrd>
  65. </main>
  66. <send>
  67. <case1>
  68. <srch_jobkindcd/>
  69. <srch_jobposcd/>
  70. <srch_dvcd/>
  71. <srch_cnts/>
  72. <srch_dryn/>
  73. </case1>
  74. <case2>
  75. <srch_dvcd/>
  76. <srch_cnts/>
  77. <srch_inhospyn/>
  78. <srch_wardcd/>
  79. <srch_dschdd1/>
  80. <srch_dschdd2/>
  81. </case2>
  82. </send>
  83. <init>
  84. <R0059list>
  85. </R0059list>
  86. <R0061list>
  87. </R0061list>
  88. <R0062list>
  89. </R0062list>
  90. <basecdlist>
  91. <wardlist/>
  92. </basecdlist>
  93. </init>
  94. </root>
  95. </instance>
  96. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  97. <submission id="TRCIT00901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/case1" resultref="/root/main/exectrgtgrd/inneremp"/>
  98. <submission id="TRCIT00902" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/case2" resultref="/root/main/exectrgtgrd/patgrup"/>
  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" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  104. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  105. <script type="javascript" ev:event="xforms-ready">
  106. <![CDATA[
  107. // 공통코드 R0059 : 직급 , R0061 : 직종, R0062 : 직책
  108. zbcfGetCodeList( new Array("R0059", "R0061", "R0062"), new Array("/root/init/R0059list", "/root/init/R0061list", "/root/init/R0062list"));
  109. // 병동구분
  110. var instcd = getUserInfo("dutplceinstcd");
  111. var standard_yn = "orduseyn";
  112. var ord_deptflag = "W"; // 병동
  113. var rslt_ref = "/root/init/basecdlist/wardlist";
  114. zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref);
  115. // 기본 값 셋팅
  116. cmb_searchtype.select(0);
  117. cmb_srch_dvcd.select(0);
  118. addComboItemAll("srch_jobkindcd");
  119. addComboItemAll("srch_jobposcd");
  120. // 시작 화면에 오늘 날짜 & 1년 전 보여주기
  121. model.setValue("/root/send/case2/srch_dschdd1", getCurrentDate().toDate().getAddDate(-1,"Y").getDateFormat());
  122. model.setValue("/root/send/case2/srch_dschdd2", getCurrentDate());
  123. // 그리드 초기화
  124. model.removeNodeset("/root/main/exectrgtgrd/inneremp");
  125. model.removeNodeset("/root/main/exectrgtgrd/patgrup");
  126. model.removeNodeset("/root/main/exectrgtgrd/choitrgtlist");
  127. btn_innremp.selected = true;
  128. model.toggle("case1");
  129. model.setValue("/root/main/exectrgtgrd/attr","emp");
  130. model.refresh();
  131. ]]>
  132. </script>
  133. <script type="javascript">
  134. <![CDATA[
  135. // 데이터 이동
  136. function fSetDateMove(move) {
  137. // emp : 내부 직원, pat : 환자 그룹
  138. var attr = model.getValue("/root/main/exectrgtgrd/attr");
  139. // 내부직원에서의 데이터 이동
  140. if (attr == "emp") {
  141. if (move == "right") {
  142. var chk = "";
  143. var checkCount = 0;
  144. var useridL = 0;
  145. var useridR = 0;
  146. var duplCount = 0; // 중복개수
  147. var insertBoo = true;
  148. var insCount = 0;
  149. for (var i = 1; i < grd_inneremp.rows; i++) {
  150. chk = model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/chk");
  151. useridL = model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/userid");
  152. insertBoo = true;
  153. if (chk == "Y") {
  154. // if(i==1){
  155. // copyNodesetType( grd_choitrgtlist.nodeset,grd_inneremp.nodeset,"replace");
  156. // }else{
  157. // copyNodesetType( grd_choitrgtlist.nodeset,grd_inneremp.nodeset,"after");
  158. // }
  159. checkCount++;
  160. for(var j = 1; j < grd_choitrgtlist.rows; j++) {
  161. useridR = model.getValue("/root/main/exectrgtgrd/choitrgtlist["+j+"]/userid");
  162. if (useridL == useridR) {
  163. duplCount++;
  164. insertBoo = false;
  165. break;
  166. }
  167. // else if (useridR == "") {
  168. // insCount++;
  169. // } else {
  170. // insCount++;
  171. // }
  172. }
  173. if (insertBoo == true) {
  174. // if ((grd_choitrgtlist.rows -1) > 0 ) {
  175. // model.makeValue("/root/main/exectrgtgrd/choitrgtlist["+insCount+"]",
  176. // model.makeValue(copyNodesetType("/root/main/exectrgtgrd/choitrgtlist["+insCount+"]", "/root/main/exectrgtgrd/inneremp["+i+"]"));
  177. // } else {
  178. // model.makeValue("/root/main/exectrgtgrd/choitrgtlist["+checkCount+"]", grd_inneremp.getUpdateData());
  179. // grd_choitrgtlist.addRow(false);
  180. // model.copyNode("/root/main/exectrgtgrd/choitrgtlist["+checkCount+"]", "/root/main/exectrgtgrd/inneremp["+i+"]");
  181. // }
  182. grd_choitrgtlist.addRow(false);
  183. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/stintrgtflagcd", "1");
  184. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/trgtmannm" ,model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/trgtmannm"));
  185. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/tgps_id" ,model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/userid"));
  186. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/depthngnm" ,model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/depthngnm"));
  187. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/trgtjobgradcd" ,model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/trgtjobgradcd"));
  188. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/trgtjobkindcd" ,model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/trgtjobkindcd"));
  189. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/trgtjobrespcd" ,model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/trgtjobrespcd"));
  190. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/trgtdeptcd" ,model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/trgtdeptcd"));
  191. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/emailaddr" ,model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/emailaddr"));
  192. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/mdcrdryn" ,model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/mdcrdryn"));
  193. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/userid" ,model.getValue("/root/main/exectrgtgrd/inneremp["+i+"]/userid"));
  194. }
  195. }
  196. }
  197. if (duplCount > 0) {
  198. messageBox("대상자가", "E006");
  199. } else if (checkCount == 0 ) {
  200. messageBox("대상자가 선택되지", "E007");
  201. }
  202. // 데이터 이동 후 마스터 목록 선택 해제
  203. var mode = "D";
  204. fGridAllRow(mode);
  205. } else if (move == "left") {
  206. var deleteCount = 0;
  207. var count = 1;
  208. for (var i = 1; i < grd_choitrgtlist.rows; i++) {
  209. var chk = model.getValue("/root/main/exectrgtgrd/choitrgtlist["+ count +"]/chk");
  210. if (chk == "Y") {
  211. grd_choitrgtlist.deleteRow(count, false);
  212. i = i - 1;
  213. deleteCount++
  214. } else {
  215. count++;
  216. }
  217. }
  218. if (deleteCount == 0 ) {
  219. messageBox("대상자가 선택되지", "E007");
  220. }
  221. // 데이터 이동 후 마스터 목록 선택 해제
  222. var mode = "D";
  223. fGridAllRow(mode);
  224. }
  225. // 환자 그룹에서의 데이터 이동
  226. } else if (attr == "pat") {
  227. if (move == "right") {
  228. var checkCount = 0;
  229. var chk = "";
  230. var useridL = 0;
  231. var useridR = 0;
  232. var duplCount = 0; // 중복개수
  233. var insertBoo = true;
  234. for (var i = 1; i < grd_patinfolist.rows; i++) {
  235. chk = model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/chk");
  236. useridL = model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/pid");
  237. insertBoo = true;
  238. if (chk == "Y") {
  239. checkCount++;
  240. for(var j = 1; j < grd_choitrgtlist.rows; j++) {
  241. useridR = model.getValue("/root/main/exectrgtgrd/choitrgtlist["+j+"]/pid");
  242. if (useridL == useridR) {
  243. duplCount++;
  244. insertBoo = false;
  245. break;
  246. }
  247. }
  248. if (insertBoo == true) {
  249. grd_choitrgtlist.addRow(false);
  250. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/stintrgtflagcd", "2");
  251. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/trgtmannm" ,model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/trgtmannm"));
  252. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/tgps_id" ,model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/pid"));
  253. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/depthngnm" ,model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/depthngnm"));
  254. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/trgtjobgradcd" ,model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/trgtjobgradcd"));
  255. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/trgtjobkindcd" ,model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/trgtjobkindcd"));
  256. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/trgtjobrespcd" ,model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/trgtjobrespcd"));
  257. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/trgtdeptcd" ,model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/trgtdeptcd"));
  258. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/emailaddr" ,model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/emailaddr"));
  259. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/mdcrdryn" ,model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/mdcrdryn"));
  260. model.setValue("/root/main/exectrgtgrd/choitrgtlist["+ grd_choitrgtlist.row +"]/pid" ,model.getValue("/root/main/exectrgtgrd/patgrup["+i+"]/pid"));
  261. }
  262. }
  263. }
  264. if (duplCount > 0) {
  265. messageBox("대상자가", "E006");
  266. } else if (checkCount == 0 ) {
  267. messageBox("대상자가 선택되지", "E007");
  268. }
  269. // 데이터 이동 후 마스터 목록 선택 해제
  270. var mode = "D";
  271. fGridAllRow(mode);
  272. } else if (move == "left") {
  273. var deleteCount = 0;
  274. var count = 1;
  275. for (var i = 1; i < grd_choitrgtlist.rows; i++) {
  276. var chk = model.getValue("/root/main/exectrgtgrd/choitrgtlist["+ count +"]/chk");
  277. if (chk == "Y") {
  278. grd_choitrgtlist.deleteRow(count, false);
  279. deleteCount++;
  280. i = i - 1;
  281. } else {
  282. count++;
  283. }
  284. }
  285. if (deleteCount == 0 ) {
  286. messageBox("대상자가 선택되지", "E007");
  287. }
  288. // 데이터 이동 후 마스터 목록 선택 해제
  289. var mode = "D";
  290. fGridAllRow(mode);
  291. }
  292. }
  293. model.refresh();
  294. }
  295. // 그리드 전체 행을 선택한다.
  296. function fGridAllRow(mode) {
  297. // 마스터 목록
  298. if (mode == "A") {
  299. var rows = grd_inneremp.rows;
  300. var fRow = grd_inneremp.fixedRows;
  301. var boolchk = model.getValue("/root/main/exectrgtgrd/chkvalue1");
  302. if (boolchk == "Y") {
  303. for(var i=fRow; i<rows; i++) {
  304. grd_inneremp.valueMatrix(i, grd_inneremp.colRef("chk"))="Y";
  305. }
  306. } else {
  307. for(var i=fRow; i<rows; i++) {
  308. grd_inneremp.valueMatrix(i, grd_inneremp.colRef("chk"))="N";
  309. }
  310. }
  311. model.refresh();
  312. } else if (mode == "B") { // 설문 목록
  313. var rows = grd_patinfolist.rows;
  314. var fRow = grd_patinfolist.fixedRows;
  315. var boolchk = model.getValue("/root/main/exectrgtgrd/chkvalue2");
  316. if (boolchk == "Y") {
  317. for(var i=fRow; i<rows; i++){
  318. grd_patinfolist.valueMatrix(i, grd_patinfolist.colRef("chk"))="Y";
  319. }
  320. } else {
  321. for(var i=fRow; i<rows; i++){
  322. grd_patinfolist.valueMatrix(i, grd_patinfolist.colRef("chk"))="N";
  323. }
  324. }
  325. model.refresh();
  326. } else if (mode == "C") { // 설문 목록
  327. var rows = grd_choitrgtlist.rows;
  328. var fRow = grd_choitrgtlist.fixedRows;
  329. var boolchk = model.getValue("/root/main/exectrgtgrd/chkvalue3");
  330. if (boolchk == "Y") {
  331. for(var i=fRow; i<rows; i++){
  332. grd_choitrgtlist.valueMatrix(i, grd_choitrgtlist.colRef("chk"))="Y";
  333. }
  334. } else {
  335. for(var i=fRow; i<rows; i++){
  336. grd_choitrgtlist.valueMatrix(i, grd_choitrgtlist.colRef("chk"))="N";
  337. }
  338. }
  339. model.refresh();
  340. } else if (mode == "D") { // 데이터 이동 후 마스터 목록 선택 해제
  341. // 내부직원
  342. var rowsE = grd_inneremp.rows;
  343. var fRowE = grd_inneremp.fixedRows;
  344. // 환자
  345. var rowsP = grd_patinfolist.rows;
  346. var fRowP = grd_patinfolist.fixedRows;
  347. // 대상자
  348. var rowsC = grd_choitrgtlist.rows;
  349. var fRowC = grd_choitrgtlist.fixedRows;
  350. // 내부직원
  351. for(var i=fRowE; i<rowsE; i++){
  352. grd_inneremp.valueMatrix(i, grd_inneremp.colRef("chk"))="N";
  353. }
  354. model.setValue("/root/main/exectrgtgrd/chkvalue1", "");
  355. // 환자
  356. for(var i=fRowP; i<rowsP; i++){
  357. grd_patinfolist.valueMatrix(i, grd_patinfolist.colRef("chk"))="N";
  358. }
  359. model.setValue("/root/main/exectrgtgrd/chkvalue2", "");
  360. // 대상자
  361. for(var i=fRowC; i<rowsC; i++){
  362. grd_choitrgtlist.valueMatrix(i, grd_choitrgtlist.colRef("chk"))="N";
  363. }
  364. model.setValue("/root/main/exectrgtgrd/chkvalue3", "");
  365. }
  366. model.refresh();
  367. }
  368. ]]>
  369. </script>
  370. </xhtml:head>
  371. <xhtml:body pagewidth="850" pageheight="600" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  372. <switch id="switch1" style="left:10px; top:31px; width:450px; height:519px; ">
  373. <case id="case1" selected="true">
  374. <group id="group1" style="left:5px; top:10px; width:440px; height:79px; ">
  375. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:440px; height:79px; "/>
  376. <caption id="caption1" class="search_name" style="left:5; top:9; width:63; height:17; ">검색어</caption>
  377. <select1 id="cmb_searchtype" ref="/root/send/case1/srch_dvcd" class="combo_search" appearance="minimal" style="left:71px; top:8px; width:100px; height:19px; ">
  378. <choices>
  379. <item>
  380. <label>사용자성명</label>
  381. <value>usernm</value>
  382. </item>
  383. <item>
  384. <label>부서명</label>
  385. <value>depthngnm</value>
  386. </item>
  387. </choices>
  388. </select1>
  389. <input id="ipt_searchitem" ref="/root/send/case1/srch_cnts" class="input_search" style="left:174px; top:8px; width:110px; height:19px; ">
  390. <script type="javascript" ev:event="onkeyup">
  391. <![CDATA[
  392. inputEnterKey("btn_qestsearch", "DOMActivate");
  393. ]]>
  394. </script>
  395. </input>
  396. <caption id="caption3" class="search_name" style="left:5px; top:33px; width:50px; height:17px; ">직종</caption>
  397. <select1 id="srch_jobkindcd" ref="/root/send/case1/srch_jobkindcd" class="combo_search" appearance="minimal" itemcount="15" style="left:60px; top:32px; width:150px; height:19px; ">
  398. <choices>
  399. <itemset nodeset="/root/init/R0061list/R0061">
  400. <label ref="cdnm"/>
  401. <value ref="cdid"/>
  402. </itemset>
  403. </choices>
  404. </select1>
  405. <caption id="caption4" class="search_name" style="left:5px; top:57px; width:50px; height:17px; ">직책</caption>
  406. <select1 id="srch_jobposcd" ref="/root/send/case1/srch_jobposcd" class="combo_search" appearance="minimal" itemcount="15" style="left:60px; top:56px; width:200px; height:19px; ">
  407. <choices>
  408. <itemset nodeset="/root/init/R0062list/R0062">
  409. <label ref="cdnm"/>
  410. <value ref="cdid"/>
  411. </itemset>
  412. </choices>
  413. </select1>
  414. <select id="chk_dryn" ref="/root/send/case1/srch_dryn" class="checkbox_search" overflow="visible" appearance="full" style="left:263px; top:57px; width:70px; height:13px; border-style:none; ">
  415. <choices>
  416. <item>
  417. <label>의사여부</label>
  418. <value>Y</value>
  419. </item>
  420. </choices>
  421. </select>
  422. <line id="line1" class="line_4" style="x1:354px; y1:7px; x2:354px; y2:72px; "/>
  423. <button id="btn_qestsearch" class="btn1_letter2" style="left:369px; top:28px; width:56px; height:22px; ">
  424. <caption>조회</caption>
  425. <script type="javascript" ev:event="DOMActivate">
  426. <![CDATA[
  427. submit("TRCIT00901");
  428. model.setValue("/root/main/exectrgtgrd/attr", "emp");
  429. ]]>
  430. </script>
  431. </button>
  432. </group>
  433. <datagrid id="grd_inneremp" nodeset="/root/main/exectrgtgrd/inneremp" caption="^성명^사용자ID^부서명^직급^직종^직책^E - mail" colsep="^" colwidth="20, 80, 90, 90, 80, 80, 80, 200, 0, 0, 0" ellipsis="true" frozencols="1" mergecellsfixedrows="bycolrec" rowsep="|" style="left:5px; top:99px; width:440px; height:410px; ">
  434. <col checkvalue="Y,N" ref="chk" type="checkbox" style="text-align:center; "/>
  435. <col ref="trgtmannm" style="left:20px; top:23px; width:80px; height:23px; "/>
  436. <col ref="userid"/>
  437. <col ref="depthngnm"/>
  438. <col disabled="true" ref="trgtjobgradcd" type="combo">
  439. <choices>
  440. <itemset nodeset="/root/init/R0059list/R0059">
  441. <label ref="cdnm"/>
  442. <value ref="cdid"/>
  443. </itemset>
  444. </choices>
  445. </col>
  446. <col disabled="true" ref="trgtjobkindcd" type="combo">
  447. <choices>
  448. <choices>
  449. <itemset nodeset="/root/init/R0061list/R0061">
  450. <label ref="cdnm"/>
  451. <value ref="cdid"/>
  452. </itemset>
  453. </choices>
  454. </choices>
  455. </col>
  456. <col disabled="true" ref="trgtjobrespcd" type="combo">
  457. <choices>
  458. <itemset nodeset="/root/init/R0062list/R0062">
  459. <label ref="cdnm"/>
  460. <value ref="cdid"/>
  461. </itemset>
  462. </choices>
  463. </col>
  464. <col ref="emailaddr"/>
  465. <col ref="trgtdeptcd" visibility="hidden"/>
  466. <col ref="mdcrdryn" visibility="hidden"/>
  467. <col ref="stintrgtflagcd" visibilty="hidden"/>
  468. </datagrid>
  469. <bool id="bool1" checkvalue="Y,N" ref="/root/main/exectrgtgrd/chkvalue1" style="left:6px; top:105px; width:20px; height:15px; ">
  470. <script type="javascript" ev:event="xforms-value-changed">
  471. <![CDATA[
  472. var mode = "A"
  473. fGridAllRow(mode);
  474. ]]>
  475. </script>
  476. </bool>
  477. </case>
  478. <case id="case2">
  479. <group id="group2" style="left:5; top:10; width:440; height:79; ">
  480. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:440; height:79; "/>
  481. <caption id="caption5" class="search_name" style="left:5px; top:9px; width:63px; height:17px; ">검색어</caption>
  482. <select1 id="cmb_srch_dvcd" ref="/root/send/case2/srch_dvcd" class="combo_search" appearance="minimal" style="left:71px; top:8px; width:75px; height:19px; ">
  483. <choices>
  484. <item>
  485. <label>환자명</label>
  486. <value>srch_hngnm</value>
  487. </item>
  488. <item>
  489. <label>등록번호</label>
  490. <value>srch_pid</value>
  491. </item>
  492. </choices>
  493. </select1>
  494. <input id="ipt_searchitem2" ref="/root/send/case2/srch_cnts" class="input_search" style="left:149px; top:8px; width:92px; height:19px; ">
  495. <script type="javascript" ev:event="onkeyup">
  496. <![CDATA[
  497. inputEnterKey("btn_search", "DOMActivate");
  498. ]]>
  499. </script>
  500. </input>
  501. <caption id="caption2" class="search_name" style="left:5px; top:33px; width:80px; height:17px; ">병동구분</caption>
  502. <select1 id="cmb_srch_wardcd" ref="/root/send/case2/srch_wardcd" class="combo_search" disabled="true" appearance="minimal" style="left:85px; top:32px; width:156px; height:19px; ">
  503. <choices>
  504. <itemset nodeset="/root/init/basecdlist/wardlist/dept">
  505. <label ref="depthngnm"/>
  506. <value ref="deptcd"/>
  507. </itemset>
  508. </choices>
  509. </select1>
  510. <caption id="caption6" class="search_name" style="left:5px; top:57px; width:102px; height:17px; ">퇴원예정일자</caption>
  511. <line id="line2" class="line_4" style="x1:354px; y1:7px; x2:354px; y2:73px; "/>
  512. <button id="btn_search" class="btn1_letter2" style="left:369px; top:27px; width:56px; height:22px; ">
  513. <caption>조회</caption>
  514. <script type="javascript" ev:event="DOMActivate">
  515. <![CDATA[
  516. var srch_inhospyn = model.getValue("/root/send/case2/srch_inhospyn");
  517. var srch_cnts = model.getValue("/root/send/case2/srch_cnts");
  518. var cmb_srch_wardcd = model.getValue("/root/send/case2/cmb_srch_wardcd");
  519. var ipt_srch_dschdd1 = model.getValue("/root/send/case2/ipt_srch_dschdd2");
  520. var ipt_srch_dschdd2 = model.getValue("/root/send/case2/ipt_srch_dschdd2");
  521. if (srch_inhospyn == "" || srch_inhospyn == "N") {
  522. if (srch_cnts == "") {
  523. messageBox("검색어를","C001");
  524. model.setFocus("srch_cnts");
  525. } else {
  526. submit("TRCIT00902");
  527. }
  528. } else if (srch_inhospyn == "Y") {
  529. if (srch_cnts == "" && cmb_srch_wardcd == "" && ipt_srch_dschdd1 == "" && ipt_srch_dschdd2 == "" ) {
  530. messageBox("검색조건을 한가지이상","C001");
  531. } else {
  532. submit("TRCIT00902");
  533. }
  534. }
  535. model.refresh();
  536. ]]>
  537. </script>
  538. </button>
  539. <caption id="caption8" class="search_name" style="left:244; top:9; width:76; height:19; ">재원여부</caption>
  540. <bool id="chk_inhospyn" class="checkbox_search" checkvalue="Y,N" ref="/root/send/case2/srch_inhospyn" style="left:323; top:11; width:22px; height:13; border-style:none; ">
  541. <script type="javascript" ev:event="xforms-value-changed">
  542. <![CDATA[
  543. var hosp = model.getValue("/root/send/case2/srch_inhospyn");
  544. if (hosp == "Y") {
  545. cmb_srch_wardcd.disabled = false;
  546. ipt_srch_dschdd1.disabled = false;
  547. ipt_srch_dschdd2.disabled = false;
  548. } else if (hosp == "" || hosp == "N" ) {
  549. cmb_srch_wardcd.disabled = true;
  550. ipt_srch_dschdd1.disabled = true;
  551. ipt_srch_dschdd2.disabled = true;
  552. }
  553. model.refresh();
  554. ]]>
  555. </script>
  556. </bool>
  557. <input id="ipt_srch_dschdd1" ref="/root/send/case2/srch_dschdd1" class="input_search" disabled="true" inputtype="date" style="left:110px; top:56px; width:90px; height:19px; "/>
  558. <caption id="caption9" style="left:203px; top:55px; width:11px; height:20px; ">~</caption>
  559. <input id="ipt_srch_dschdd2" ref="/root/send/case2/srch_dschdd2" class="input_search" disabled="true" inputtype="date" style="left:216px; top:56px; width:90px; height:19px; "/>
  560. </group>
  561. <datagrid id="grd_patinfolist" nodeset="/root/main/exectrgtgrd/patgrup" caption="^성명^등록번호^나이^성별^재원여부^병동^입원일자^퇴원일자^E-mail" colsep="^" colwidth="20, 80, 120, 50, 50, 80, 150, 150, 100, 80, 0" ellipsis="true" frozencols="1" mergecellsfixedrows="bycolrec" rowsep="|" style="left:5px; top:98px; width:440px; height:410px; ">
  562. <col checkvalue="Y,N" ref="chk" type="checkbox" style="text-align:center; "/>
  563. <col ref="trgtmannm"/>
  564. <col ref="pid"/>
  565. <col ref="ptage"/>
  566. <col ref="sex"/>
  567. <col ref="inhospyn"/>
  568. <col ref="wardcd"/>
  569. <col ref="orddd"/>
  570. <col ref="dschddd"/>
  571. <col ref="emailaddr"/>
  572. <col ref="stintrgtflagcd" visibility="hidden"/>
  573. </datagrid>
  574. <bool id="bool3" checkvalue="Y,N" ref="/root/main/exectrgtgrd/chkvalue2" style="left:6px; top:104px; width:20px; height:15px; ">
  575. <script type="javascript" ev:event="xforms-value-changed">
  576. <![CDATA[
  577. var mode = "B"
  578. fGridAllRow(mode);
  579. ]]>
  580. </script>
  581. </bool>
  582. </case>
  583. </switch>
  584. <button id="btn_innremp" class="btn_sw5" group="tab" style="left:10px; top:10px; width:76px; height:22px; ">
  585. <caption>내부 직원</caption>
  586. <script type="javascript" ev:event="DOMActivate">
  587. <![CDATA[
  588. model.toggle("case1");
  589. model.setValue("/root/main/exectrgtgrd/attr", "emp");
  590. // model.removeNodeset("/root/main/exectrgtgrd/choitrgtlist");
  591. ]]>
  592. </script>
  593. </button>
  594. <button id="btn_patgrup" class="btn_sw5" group="tab" style="left:86px; top:10px; width:76px; height:22px; ">
  595. <caption>환자 그룹</caption>
  596. <script type="javascript" ev:event="DOMActivate">
  597. <![CDATA[
  598. model.toggle("case2");
  599. model.setValue("/root/main/exectrgtgrd/attr", "pat");
  600. // model.removeNodeset("/root/main/exectrgtgrd/choitrgtlist");
  601. ]]>
  602. </script>
  603. </button>
  604. <button id="btn_datarightmove" class="icon_right" style="left:463; top:251; width:26px; height:19px; ">
  605. <caption/>
  606. <script type="javascript" ev:event="DOMActivate">
  607. <![CDATA[
  608. var move = "right";
  609. fSetDateMove(move);
  610. // model.makeNode(grd_choitrgtlist.nodeset);
  611. // copyNodesetType( grd_choitrgtlist.nodeset,grd_inneremp.nodeset+"[chk='Y']","replace");
  612. // grd_choitrgtlist.refresh();
  613. ]]>
  614. </script>
  615. </button>
  616. <button id="btn_dataleftmove" class="icon_left" style="left:463; top:275; width:26px; height:19px; ">
  617. <caption/>
  618. <script type="javascript" ev:event="DOMActivate">
  619. <![CDATA[
  620. var move = "left";
  621. fSetDateMove(move);
  622. ]]>
  623. </script>
  624. </button>
  625. <line id="line3" class="line_1" style="x1:492px; y1:25px; x2:834; y2:25px; "/>
  626. <caption id="caption7" class="tit_2" style="left:492; top:10; width:100px; height:13; ">선택된 대상자</caption>
  627. <datagrid id="grd_choitrgtlist" nodeset="/root/main/exectrgtgrd/choitrgtlist" caption="^구분^대상자 성명^등록번호/사용자ID^부서명^직급^직종^직책^E - mail" colsep="^" colwidth="20, 50, 90, 125, 100, 100, 100, 100, 200, 0, 0, 0, 0" ellipsis="true" frozencols="1" mergecellsfixedrows="bycolrec" rowsep="|" style="left:492px; top:30px; width:342px; height:511px; ">
  628. <col checkvalue="Y,N" ref="chk" type="checkbox" style="text-align:center; "/>
  629. <col disabled="true" ref="stintrgtflagcd" type="combo">
  630. <choices>
  631. <item>
  632. <label>직원</label>
  633. <value>1</value>
  634. </item>
  635. <item>
  636. <label>환자</label>
  637. <value>2</value>
  638. </item>
  639. </choices>
  640. </col>
  641. <col ref="trgtmannm"/>
  642. <col ref="tgps_id"/>
  643. <col ref="depthngnm"/>
  644. <col disabled="true" ref="trgtjobgradcd" type="combo">
  645. <choices>
  646. <itemset nodeset="/root/init/R0059list/R0059">
  647. <label ref="cdnm"/>
  648. <value ref="cdid"/>
  649. </itemset>
  650. </choices>
  651. </col>
  652. <col disabled="true" ref="trgtjobkindcd" type="combo">
  653. <choices>
  654. <choices>
  655. <itemset nodeset="/root/init/R0061list/R0061">
  656. <label ref="cdnm"/>
  657. <value ref="cdid"/>
  658. </itemset>
  659. </choices>
  660. </choices>
  661. </col>
  662. <col disabled="true" ref="trgtjobrespcd" type="combo">
  663. <choices>
  664. <itemset nodeset="/root/init/R0062list/R0062">
  665. <label ref="cdnm"/>
  666. <value ref="cdid"/>
  667. </itemset>
  668. </choices>
  669. </col>
  670. <col ref="emailaddr"/>
  671. <col ref="trgtdeptcd" visibility="hidden"/>
  672. <col ref="mdcrdryn" visibility="hidden"/>
  673. <col ref="userid" visibility="hidden"/>
  674. <col ref="pid" visibility="hidden"/>
  675. </datagrid>
  676. <bool id="bool2" checkvalue="Y,N" ref="/root/main/exectrgtgrd/chkvalue3" style="left:493px; top:35px; width:20px; height:15px; ">
  677. <script type="javascript" ev:event="xforms-value-changed">
  678. <![CDATA[
  679. var mode = "C"
  680. fGridAllRow(mode);
  681. ]]>
  682. </script>
  683. </bool>
  684. <group id="group3" style="left:10px; top:550px; width:450px; height:27px; ">
  685. <button id="btn_cnfm" class="btn4_letter2" style="left:335; top:5px; width:56px; height:22px; ">
  686. <caption>확인</caption>
  687. <script type="javascript" ev:event="DOMActivate">
  688. <![CDATA[
  689. var choitrgtlist = grd_choitrgtlist.rows;
  690. if ((choitrgtlist-1) == 0) {
  691. messageBox("대상자를", "C001");
  692. } else {
  693. var iParam = model.getValue(grd_choitrgtlist.nodeset);
  694. var nodelist = instance1.selectNodes(grd_choitrgtlist.nodeset);
  695. var rCVS = getNodeListCSV(nodelist);
  696. opener.javascript.fGetGoodInfo(rCVS);
  697. window.close();
  698. }
  699. ]]>
  700. </script>
  701. </button>
  702. <button id="btn_close" class="btn4_letter2" style="left:394; top:5px; width:56px; height:22px; ">
  703. <caption>닫기</caption>
  704. <script type="javascript" ev:event="DOMActivate">
  705. <![CDATA[
  706. window.close();
  707. ]]>
  708. </script>
  709. </button>
  710. </group>
  711. </xhtml:body>
  712. </xhtml:html>