SPANC00306_다학제간교육회신내용.xrw 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <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">
  4. <xhtml:head>
  5. <xhtml:title>(PFE) 다학제간 환자 교육정보 입력</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <educcntslists/>
  11. <recData>
  12. <cnstpsn1/>
  13. </recData>
  14. </main>
  15. <init>
  16. <J000000010/>
  17. <J000000011/>
  18. <J000000012/>
  19. <J000000013/>
  20. <list14/>
  21. <pinfo>
  22. <instcd/>
  23. <pid/>
  24. <orddd/>
  25. <cretno/>
  26. </pinfo>
  27. </init>
  28. <send>
  29. <instcd/>
  30. <pid/>
  31. <orddd/>
  32. <cretno/>
  33. </send>
  34. <hidden>
  35. <eduprepyn/>
  36. <eduwho/>
  37. <eduway/>
  38. <edurslt/>
  39. <edudd/>
  40. <edutm/>
  41. </hidden>
  42. </root>
  43. </instance>
  44. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  45. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  46. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  47. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  48. <script type="javascript" src="../../../emr/jcimngtweb/js/SMMRJ099.js"/>
  49. <script type="javascript" ev:event="xforms-ready">
  50. <![CDATA[
  51. fInit();
  52. ]]>
  53. </script>
  54. <submission id="TRMRJ09901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/hidden/temp"/>
  55. <submission id="TRMRJ00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main"/>
  56. <submission id="TXMRJ00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/listdata" resultref="/root/hidden/temp/msglist"/>
  57. </model>
  58. <script type="javascript">
  59. <![CDATA[
  60. function fInit() {
  61. fSelectCodeList();
  62. fSetEducTrgtMans() ;
  63. var globalData = getGlobalVariable("ANC00350eventtarget", "A"); // 이벤트가 발생한 그리드
  64. var target = "";
  65. var targetRow = ""; // 이벤트가 발생한 그리드 row 값
  66. if(opener.model.getValue("/root/temp/griddata/gridid") != "" &&
  67. opener.model.getValue("/root/temp/griddata/gridrow") != "") {
  68. target = opener.model.getValue("/root/temp/griddata/gridid");
  69. targetRow = opener.model.getValue("/root/temp/griddata/gridrow");
  70. }
  71. var vGridRows10 = datagrid10.rows;
  72. var vGridRows11 = datagrid11.rows;
  73. var vGridRows12 = datagrid12.rows;
  74. var vGridRows13 = datagrid13.rows;
  75. var vGridCheckValue10 = "";
  76. var vGridCheckValue11 = "";
  77. var vGridCheckValue12 = "";
  78. var vGridCheckValue13 = "";
  79. var etcCheckNum12 = 0;
  80. var etcCheckNum13 = 0;
  81. // 수행시간을 현재 시간으로 세팅
  82. var curDt = getCurrentDateTime().split(" ");
  83. // 영양관리이력 데이터 세팅
  84. if(target == "grd_nutrmngthist") {
  85. // 교육일자, 교육시간 세팅
  86. if(opener.model.getValue("/root/main/maindata/nutrmngt["+targetRow+"]/edudd") == "" ||
  87. opener.model.getValue("/root/main/maindata/nutrmngt["+targetRow+"]/edutm") == "" ||
  88. opener.model.getValue("/root/main/maindata/nutrmngt["+targetRow+"]/edudd") == "99991231" ||
  89. opener.model.getValue("/root/main/maindata/nutrmngt["+targetRow+"]/edutm") == "235959") {
  90. model.setValue("/root/hidden/edudd", curDt[0]);
  91. model.setValue("/root/hidden/edutm", curDt[1]);
  92. } else {
  93. model.setValue("/root/hidden/edudd", opener.model.getValue("/root/main/maindata/nutrmngt["+targetRow+"]/edudd"));
  94. model.setValue("/root/hidden/edutm", opener.model.getValue("/root/main/maindata/nutrmngt["+targetRow+"]/edutm"));
  95. }
  96. var eduprepyn = opener.model.getValue("/root/main/maindata/nutrmngt["+targetRow+"]/eduprepyn"); // 학습준비도
  97. var eduwho = opener.model.getValue("/root/main/maindata/nutrmngt["+targetRow+"]/eduwho"); // 교육대상자
  98. var eduway = opener.model.getValue("/root/main/maindata/nutrmngt["+targetRow+"]/eduway"); // 교육방법
  99. var edurslt = opener.model.getValue("/root/main/maindata/nutrmngt["+targetRow+"]/edurslt"); // 교육결과
  100. // 학습준비도 그리드 데이터 세팅
  101. var initCheck10 = "Y";
  102. for(i10=1; i10<vGridRows10; i10++)
  103. {
  104. if(datagrid10.valueMatrix(i10,1) == eduprepyn)
  105. {
  106. datagrid10.valueMatrix(i10,0) = "true";
  107. initCheck10 = "N";
  108. }
  109. }
  110. // 학습준비도 초기 값 세팅
  111. if(initCheck10 == "Y") {
  112. datagrid10.valueMatrix(1,0) = "true";
  113. }
  114. // 교육대상자 그리드 데이터 세팅
  115. var initCheck11 = "Y";
  116. eduwho = eduwho.split(", ");
  117. for(i11=1; i11<vGridRows11; i11++)
  118. {
  119. for(var i = 0; i < eduwho.length; ++i) {
  120. if(datagrid11.valueMatrix(i11,1) == eduwho[i])
  121. {
  122. datagrid11.valueMatrix(i11,0) = "true";
  123. initCheck11 = "N";
  124. }
  125. }
  126. }
  127. // 교육대상자 초기 값 세팅
  128. if(initCheck11 == "Y") {
  129. datagrid11.valueMatrix(1,0) = "true";
  130. }
  131. // 교육방법 그리드 데이터 세팅
  132. var initCheck12 = "Y";
  133. eduway = eduway.split(", ");
  134. for(i12=1; i12<vGridRows12; i12++)
  135. {
  136. for(var i = 0; i < eduway.length; ++i) {
  137. if(datagrid12.valueMatrix(i12,1) == eduway[i])
  138. {
  139. datagrid12.valueMatrix(i12,0) = "true";
  140. ++etcCheckNum12;
  141. initCheck12 = "N";
  142. }
  143. }
  144. // 기타 항목 체크1( 값이 '기타' 일 경우 )
  145. if(i12 == (vGridRows12-1) && datagrid12.valueMatrix(i12,1) == eduway[eduway.length-1]) {
  146. datagrid12.cellAttribute("disabled", i12, 1 ) = "false";
  147. datagrid12.cellstyle("background-color", i12, 1) = "#DDDDDD";
  148. initCheck12 = "N";
  149. }
  150. // 기타 항목 체크2( 값이 '기타' 가 아닐 경우 )
  151. if(i12 == (vGridRows12-1) && etcCheckNum12 != eduway.length) {
  152. if(eduway[eduway.length-1] != "") {
  153. datagrid12.valueMatrix(i12,0) = "true";
  154. datagrid12.valueMatrix(i12,1) = eduway[eduway.length-1];
  155. datagrid12.cellAttribute("disabled", (vGridRows12-1), 1 ) = "false";
  156. datagrid12.cellstyle("background-color", (vGridRows12-1), 1) = "#DDDDDD";
  157. initCheck12 = "N";
  158. }
  159. }
  160. }
  161. // 교육방법 초기 값 세팅
  162. if(initCheck12 == "Y") {
  163. datagrid12.valueMatrix(1,0) = "true";
  164. }
  165. // 교육결과 그리드 데이터 세팅
  166. var initCheck13 = "Y";
  167. edurslt = edurslt.split(", ");
  168. for(i13=1; i13<vGridRows13; i13++)
  169. {
  170. for(var i = 0; i < edurslt.length; ++i) {
  171. if(datagrid13.valueMatrix(i13,1) == edurslt[i])
  172. {
  173. datagrid13.valueMatrix(i13,0) = "true";
  174. ++etcCheckNum13;
  175. initCheck13 = "N";
  176. }
  177. }
  178. // 기타 항목 체크1( 값이 '기타' 일 경우 )
  179. if(i13 == (vGridRows13-1) && datagrid13.valueMatrix(i13,1) == edurslt[edurslt.length-1]) {
  180. datagrid13.cellAttribute("disabled", i13, 1 ) = "false";
  181. datagrid13.cellstyle("background-color", i13, 1) = "#DDDDDD";
  182. initCheck13 = "N";
  183. }
  184. // 기타 항목 체크2( 값이 '기타' 가 아닐 경우 )
  185. if(i13 == (vGridRows13-1) && etcCheckNum13 != edurslt.length) {
  186. if(edurslt[edurslt.length-1] != "") {
  187. datagrid13.valueMatrix(i13,0) = "true";
  188. datagrid13.valueMatrix(i13,1) = edurslt[edurslt.length-1];
  189. datagrid13.cellAttribute("disabled", (vGridRows13-1), 1 ) = "false";
  190. datagrid13.cellstyle("background-color", (vGridRows13-1), 1) = "#DDDDDD";
  191. initCheck13 = "N";
  192. }
  193. }
  194. }
  195. // 교육결과 초기 값 세팅
  196. if(initCheck13 == "Y") {
  197. datagrid13.valueMatrix(2,0) = "true";
  198. }
  199. }
  200. // 영양검색결과이력 데이터 세팅
  201. else if(target == "grd_nutrsrchrslthist") {
  202. // 교육일자, 교육시간 세팅
  203. if(opener.model.getValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/edudd") == "" ||
  204. opener.model.getValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/edutm") == "" ||
  205. opener.model.getValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/edudd") == "99991231" ||
  206. opener.model.getValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/edutm") == "235959") {
  207. model.setValue("/root/hidden/edudd", curDt[0]);
  208. model.setValue("/root/hidden/edutm", curDt[1]);
  209. } else {
  210. model.setValue("/root/hidden/edudd", opener.model.getValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/edudd"));
  211. model.setValue("/root/hidden/edutm", opener.model.getValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/edutm"));
  212. }
  213. var eduprepyn = opener.model.getValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/eduprepyn"); // 학습준비도
  214. var eduwho = opener.model.getValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/eduwho"); // 교육대상자
  215. var eduway = opener.model.getValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/eduway"); // 교육방법
  216. var edurslt = opener.model.getValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/edurslt"); // 교육결과
  217. // 학습준비도 그리드 데이터 세팅
  218. var initCheck10 = "Y";
  219. for(i10=1; i10<vGridRows10; i10++)
  220. {
  221. if(datagrid10.valueMatrix(i10,1) == eduprepyn)
  222. {
  223. datagrid10.valueMatrix(i10,0) = "true";
  224. initCheck10 = "N";
  225. }
  226. }
  227. // 학습준비도 초기 값 세팅
  228. if(initCheck10 == "Y") {
  229. datagrid10.valueMatrix(1,0) = "true";
  230. }
  231. // 교육대상자 그리드 데이터 세팅
  232. var initCheck11 = "Y";
  233. eduwho = eduwho.split(", ");
  234. for(i11=1; i11<vGridRows11; i11++)
  235. {
  236. for(var i = 0; i < eduwho.length; ++i) {
  237. if(datagrid11.valueMatrix(i11,1) == eduwho[i])
  238. {
  239. datagrid11.valueMatrix(i11,0) = "true";
  240. initCheck11 = "N";
  241. }
  242. }
  243. }
  244. // 교육대상자 초기 값 세팅
  245. if(initCheck11 == "Y") {
  246. datagrid11.valueMatrix(1,0) = "true";
  247. }
  248. // 교육방법 그리드 데이터 세팅
  249. var initCheck12 = "Y";
  250. eduway = eduway.split(", ");
  251. for(i12=1; i12<vGridRows12; i12++)
  252. {
  253. for(var i = 0; i < eduway.length; ++i) {
  254. if(datagrid12.valueMatrix(i12,1) == eduway[i])
  255. {
  256. datagrid12.valueMatrix(i12,0) = "true";
  257. ++etcCheckNum12;
  258. initCheck12 = "N";
  259. }
  260. }
  261. // 기타 항목 체크1( 값이 '기타' 일 경우 )
  262. if(i12 == (vGridRows12-1) && datagrid12.valueMatrix(i12,1) == eduway[eduway.length-1]) {
  263. datagrid12.cellAttribute("disabled", i12, 1 ) = "false";
  264. datagrid12.cellstyle("background-color", i12, 1) = "#DDDDDD";
  265. initCheck12 = "N";
  266. }
  267. // 기타 항목 체크2( 값이 '기타' 가 아닐 경우 )
  268. if(i12 == (vGridRows12-1) && etcCheckNum12 != eduway.length) {
  269. if(eduway[eduway.length-1] != "") {
  270. datagrid12.valueMatrix(i12,0) = "true";
  271. datagrid12.valueMatrix(i12,1) = eduway[eduway.length-1];
  272. datagrid12.cellAttribute("disabled", (vGridRows12-1), 1 ) = "false";
  273. datagrid12.cellstyle("background-color", (vGridRows12-1), 1) = "#DDDDDD";
  274. initCheck12 = "N";
  275. }
  276. }
  277. }
  278. // 교육방법 초기 값 세팅
  279. if(initCheck12 == "Y") {
  280. datagrid12.valueMatrix(1,0) = "true";
  281. }
  282. // 교육결과 그리드 데이터 세팅
  283. var initCheck13 = "Y";
  284. edurslt = edurslt.split(", ");
  285. for(i13=1; i13<vGridRows13; i13++)
  286. {
  287. for(var i = 0; i < edurslt.length; ++i) {
  288. if(datagrid13.valueMatrix(i13,1) == edurslt[i])
  289. {
  290. datagrid13.valueMatrix(i13,0) = "true";
  291. ++etcCheckNum13;
  292. initCheck13 = "N";
  293. }
  294. }
  295. // 기타 항목 체크1( 값이 '기타' 일 경우 )
  296. if(i13 == (vGridRows13-1) && datagrid13.valueMatrix(i13,1) == edurslt[edurslt.length-1]) {
  297. datagrid13.cellAttribute("disabled", i13, 1 ) = "false";
  298. datagrid13.cellstyle("background-color", i13, 1) = "#DDDDDD";
  299. initCheck13 = "N";
  300. }
  301. // 기타 항목 체크2( 값이 '기타' 가 아닐 경우 )
  302. if(i13 == (vGridRows13-1) && etcCheckNum13 != edurslt.length) {
  303. if(edurslt[edurslt.length-1] != "") {
  304. datagrid13.valueMatrix(i13,0) = "true";
  305. datagrid13.valueMatrix(i13,1) = edurslt[edurslt.length-1];
  306. datagrid13.cellAttribute("disabled", (vGridRows13-1), 1 ) = "false";
  307. datagrid13.cellstyle("background-color", (vGridRows13-1), 1) = "#DDDDDD";
  308. initCheck13 = "N";
  309. }
  310. }
  311. }
  312. // 교육결과 초기 값 세팅
  313. if(initCheck13 == "Y") {
  314. datagrid13.valueMatrix(1,0) = "true";
  315. }
  316. }
  317. // 초기 입력 데이터 세팅
  318. else {
  319. // 교육일자, 교육시간 세팅
  320. if(opener.model.getValue("/root/temp/senddata/edudd") == "" ||
  321. opener.model.getValue("/root/temp/senddata/edutm") == "" ||
  322. opener.model.getValue("/root/temp/senddata/edudd") == "99991231" ||
  323. opener.model.getValue("/root/temp/senddata/edutm") == "235959") {
  324. model.setValue("/root/hidden/edudd", curDt[0]);
  325. model.setValue("/root/hidden/edutm", curDt[1]);
  326. } else {
  327. model.setValue("/root/hidden/edudd", opener.model.getValue("/root/temp/senddata/edudd"));
  328. model.setValue("/root/hidden/edutm", opener.model.getValue("/root/temp/senddata/edutm"));
  329. }
  330. var eduprepyn = opener.model.getValue("/root/temp/senddata/eduprepyn"); // 학습준비도
  331. var eduwho = opener.model.getValue("/root/temp/senddata/eduwho"); // 교육대상자
  332. var eduway = opener.model.getValue("/root/temp/senddata/eduway"); // 교육방법
  333. var edurslt = opener.model.getValue("/root/temp/senddata/edurslt"); // 교육결과
  334. // 학습준비도 그리드 데이터 세팅
  335. var initCheck10 = "Y";
  336. for(i10=1; i10<vGridRows10; i10++)
  337. {
  338. if(datagrid10.valueMatrix(i10,1) == eduprepyn)
  339. {
  340. datagrid10.valueMatrix(i10,0) = "true";
  341. initCheck10 = "N";
  342. }
  343. }
  344. // 학습준비도 초기 값 세팅
  345. if(initCheck10 == "Y") {
  346. datagrid10.valueMatrix(1,0) = "true";
  347. }
  348. // 교육대상자 그리드 데이터 세팅
  349. var initCheck11 = "Y";
  350. eduwho = eduwho.split(", ");
  351. for(i11=1; i11<vGridRows11; i11++)
  352. {
  353. for(var i = 0; i < eduwho.length; ++i) {
  354. if(datagrid11.valueMatrix(i11,1) == eduwho[i])
  355. {
  356. datagrid11.valueMatrix(i11,0) = "true";
  357. initCheck11 = "N";
  358. }
  359. }
  360. }
  361. // 교육대상자 초기 값 세팅
  362. if(initCheck11 == "Y") {
  363. datagrid11.valueMatrix(1,0) = "true";
  364. }
  365. // 교육방법 그리드 데이터 세팅
  366. var initCheck12 = "Y";
  367. eduway = eduway.split(", ");
  368. for(i12=1; i12<vGridRows12; i12++)
  369. {
  370. for(var i = 0; i < eduway.length; ++i) {
  371. if(datagrid12.valueMatrix(i12,1) == eduway[i])
  372. {
  373. datagrid12.valueMatrix(i12,0) = "true";
  374. ++etcCheckNum12;
  375. initCheck12 = "N";
  376. }
  377. }
  378. // 기타 항목 체크1( 값이 '기타' 일 경우 )
  379. if(i12 == (vGridRows12-1) && datagrid12.valueMatrix(i12,1) == eduway[eduway.length-1]) {
  380. datagrid12.cellAttribute("disabled", i12, 1 ) = "false";
  381. datagrid12.cellstyle("background-color", i12, 1) = "#DDDDDD";
  382. initCheck12 = "N";
  383. }
  384. // 기타 항목 체크2( 값이 '기타' 가 아닐 경우 )
  385. if(i12 == (vGridRows12-1) && etcCheckNum12 != eduway.length) {
  386. if(eduway[eduway.length-1] != "") {
  387. datagrid12.valueMatrix(i12,0) = "true";
  388. datagrid12.valueMatrix(i12,1) = eduway[eduway.length-1];
  389. datagrid12.cellAttribute("disabled", (vGridRows12-1), 1 ) = "false";
  390. datagrid12.cellstyle("background-color", (vGridRows12-1), 1) = "#DDDDDD";
  391. initCheck12 = "N";
  392. }
  393. }
  394. }
  395. // 교육방법 초기 값 세팅
  396. if(initCheck12 == "Y") {
  397. datagrid12.valueMatrix(1,0) = "true";
  398. }
  399. // 교육결과 그리드 데이터 세팅
  400. var initCheck13 = "Y";
  401. edurslt = edurslt.split(", ");
  402. for(i13=1; i13<vGridRows13; i13++)
  403. {
  404. for(var i = 0; i < edurslt.length; ++i) {
  405. if(datagrid13.valueMatrix(i13,1) == edurslt[i])
  406. {
  407. datagrid13.valueMatrix(i13,0) = "true";
  408. ++etcCheckNum13;
  409. initCheck13 = "N";
  410. }
  411. }
  412. // 기타 항목 체크1( 값이 '기타' 일 경우 )
  413. if(i13 == (vGridRows13-1) && datagrid13.valueMatrix(i13,1) == edurslt[edurslt.length-1]) {
  414. datagrid13.cellAttribute("disabled", i13, 1 ) = "false";
  415. datagrid13.cellstyle("background-color", i13, 1) = "#DDDDDD";
  416. initCheck13 = "N";
  417. }
  418. // 기타 항목 체크2( 값이 '기타' 가 아닐 경우 )
  419. if(i13 == (vGridRows13-1) && etcCheckNum13 != edurslt.length) {
  420. if(edurslt[edurslt.length-1] != "") {
  421. datagrid13.valueMatrix(i13,0) = "true";
  422. datagrid13.valueMatrix(i13,1) = edurslt[edurslt.length-1];
  423. datagrid13.cellAttribute("disabled", (vGridRows13-1), 1 ) = "false";
  424. datagrid13.cellstyle("background-color", (vGridRows13-1), 1) = "#DDDDDD";
  425. initCheck13 = "N";
  426. }
  427. }
  428. }
  429. // 교육결과 초기 값 세팅
  430. if(initCheck13 == "Y") {
  431. datagrid13.valueMatrix(1,0) = "true";
  432. }
  433. }
  434. model.refresh();
  435. }
  436. /*
  437. * 환자별영양관리 에서 넘겨받은 교육대상자 데이터 값체우기
  438. */
  439. function fSetEducTrgtMans() {
  440. var tmpCnstpsn1 = model.getValue("/root/main/recData/cnstpsn1");
  441. // 넘겨받은 데이터가 없으면 리턴
  442. if(tmpCnstpsn1 == "") {
  443. return;
  444. }
  445. var tmpString = tmpCnstpsn1.split("▦");
  446. for(var i = 0; i < tmpString.length; ++i) {
  447. datagrid11.valueMatrix(tmpString[i],0) = "true";
  448. }
  449. model.refresh();
  450. }
  451. function fSelectCodeList(){
  452. emrfGetCodeList(new Array("J000000010","J000000011","J000000012","J000000013"), new Array("/root/init/J000000010","/root/init/J000000011","/root/init/J000000012","/root/init/J000000013"));
  453. model.refresh();
  454. }
  455. function fCheckedGrd(grid){
  456. var currRow = grid.row
  457. var checkedYn = grid.valueMatrix(currRow,0);
  458. var checkedRowValue = grid.valueMatrix(currRow,2);
  459. var colDisabledCol = "";
  460. var colDisabledYN = "";
  461. var rowDefaultValue = "";
  462. if(checkedYn=="true"){
  463. colDisabledYN = "false";
  464. colDisabledCol = "#DDDDDD";
  465. rowDefaultValue = "";
  466. }else{
  467. colDisabledYN = "true";
  468. colDisabledCol = "#FFFFFF";
  469. rowDefaultValue = "직접입력(free text)";
  470. }
  471. if(checkedRowValue=="999"){
  472. grid.cellAttribute("disabled", currRow, 1 ) = colDisabledYN;
  473. grid.cellstyle("background-color", currRow, 1) = colDisabledCol;
  474. if (colDisabledYN=="true"){
  475. grid.valueMatrix(currRow, 1) = rowDefaultValue;
  476. }
  477. }
  478. }
  479. /*
  480. * 저장 버튼을 클릭하였을 경우 이벤트
  481. */
  482. function fOnClickSaveBtn(){
  483. if(!fAddOtherGrid()){
  484. return;
  485. }
  486. fClose();
  487. }
  488. function fAddOtherGrid(){
  489. var vGridRows10 = datagrid10.rows;
  490. var vGridRows11 = datagrid11.rows;
  491. var vGridRows12 = datagrid12.rows;
  492. var vGridRows13 = datagrid13.rows;
  493. var vGridCheckValue10 = "";
  494. var vGridCheckValue11 = "";
  495. var vGridCheckValue12 = "";
  496. var vGridCheckValue13 = "";
  497. var vGridCheckCnt10 = 0;
  498. var vGridCheckCnt11 = 0;
  499. var vGridCheckCnt12 = 0;
  500. var vGridCheckCnt13 = 0;
  501. var eduwho = "";
  502. for(i10=1; i10<vGridRows10; i10++)
  503. {
  504. if(datagrid10.valueMatrix(i10,0) =="true")
  505. {
  506. vGridCheckCnt10 = vGridCheckCnt10 + 1;
  507. vGridCheckValue10 = vGridCheckValue10+datagrid10.valueMatrix(i10,1);
  508. }
  509. }
  510. if(vGridCheckCnt10==0){
  511. alert("선택된 학습준비도 항목이 없습니다...! 1개이상 항목을 선택 후 진행해 주세요");
  512. return false;
  513. }
  514. for(i11=1; i11<vGridRows11; i11++)
  515. {
  516. if(datagrid11.valueMatrix(i11,0) =="true")
  517. {
  518. vGridCheckCnt11 = vGridCheckCnt11 + 1;
  519. if(vGridCheckValue11=="")
  520. {
  521. vGridCheckValue11 = vGridCheckValue11+datagrid11.valueMatrix(i11,1);
  522. eduwho = i11;
  523. }else
  524. {
  525. vGridCheckValue11 = vGridCheckValue11+", "+datagrid11.valueMatrix(i11,1);
  526. eduwho = eduwho + "▦" + i11;
  527. }
  528. }
  529. }
  530. if(vGridCheckCnt11==0){
  531. alert("선택된 교육대상자 항목이 없습니다...! 1개이상 항목을 선택 후 진행해 주세요");
  532. return false;
  533. }
  534. for(i12=1; i12<vGridRows12; i12++)
  535. {
  536. if(datagrid12.valueMatrix(i12,0) =="true")
  537. {
  538. vGridCheckCnt12 = vGridCheckCnt12 + 1;
  539. if(vGridCheckValue12=="")
  540. {
  541. vGridCheckValue12 = vGridCheckValue12+datagrid12.valueMatrix(i12,1);
  542. }else
  543. {
  544. vGridCheckValue12 = vGridCheckValue12+", "+datagrid12.valueMatrix(i12,1);
  545. }
  546. }
  547. }
  548. if(vGridCheckCnt12==0){
  549. alert("선택된 교육방법 항목이 없습니다...! 1개이상 항목을 선택 후 진행해 주세요");
  550. return false;
  551. }
  552. for(i13=1; i13<vGridRows13; i13++)
  553. {
  554. if(datagrid13.valueMatrix(i13,0) =="true")
  555. {
  556. vGridCheckCnt13 = vGridCheckCnt13 + 1;
  557. vGridCheckValue13 = vGridCheckValue13+datagrid13.valueMatrix(i13,1);
  558. }
  559. }
  560. if(vGridCheckCnt13==0){
  561. alert("선택된 교육결과 항목이 없습니다...! 1개이상 항목을 선택 후 진행해 주세요");
  562. return false;
  563. }
  564. if(model.getValue("/root/hidden/edudd") == "") {
  565. alert("'교육일자' 를 입력해주세요");
  566. return false;
  567. }
  568. if(model.getValue("/root/hidden/edutm") == "") {
  569. alert("'교육시간' 을 입력해주세요");
  570. return false;
  571. }
  572. var globalData = getGlobalVariable("ANC00350eventtarget", "A"); // 이벤트가 발생한 그리드
  573. var target = "";
  574. var targetRow = ""; // 이벤트가 발생한 그리드 row 값
  575. if(opener.model.getValue("/root/temp/griddata/gridid") != "" &&
  576. opener.model.getValue("/root/temp/griddata/gridrow") != "") {
  577. target = opener.model.getValue("/root/temp/griddata/gridid");
  578. targetRow = opener.model.getValue("/root/temp/griddata/gridrow");
  579. }
  580. var cnts = opener.cmb_cnstcd.label; // 상용구선택
  581. var cnstcnts = opener.model.getValue("/root/main/maindata/cnstreq/cnstcnts"); // 상용구 아래 텍스트 박스 내용
  582. // 교육내용 = 상용구선택 + 상용구 아래 텍스트 박스 내용
  583. if(cnts != "" && cnstcnts != "") {
  584. cnts = cnts + ", " + cnstcnts;
  585. } else if(cnts != "") {
  586. cnts = cnts;
  587. } else if(cnstcnts != "") {
  588. cnts = cnstcnts;
  589. } else {
  590. cnts = "";
  591. }
  592. // 영양관리이력 데이터 세팅
  593. if(target == "grd_nutrmngthist") {
  594. if(opener.grd_nutrmngthist.rows > opener.grd_nutrmngthist.fixedRows) {
  595. opener.model.setValue("/root/main/maindata/nutrmngt["+targetRow+"]/delyn", "N"); // 삭제유무
  596. opener.model.setValue("/root/main/maindata/nutrmngt["+targetRow+"]/educd", "004"); // 교육항목코드
  597. opener.model.setValue("/root/main/maindata/nutrmngt["+targetRow+"]/educnts", cnts); // 교육내용
  598. opener.model.setValue("/root/main/maindata/nutrmngt["+targetRow+"]/eduprepyn", vGridCheckValue10); // 학습준비도(Y/N)
  599. opener.model.setValue("/root/main/maindata/nutrmngt["+targetRow+"]/eduwho", vGridCheckValue11); // 교육대상자(환자, 보호자, 기타)
  600. opener.model.setValue("/root/main/maindata/nutrmngt["+targetRow+"]/eduway", vGridCheckValue12); // 교육방법
  601. opener.model.setValue("/root/main/maindata/nutrmngt["+targetRow+"]/edurslt", vGridCheckValue13); // 교육결과
  602. opener.model.setValue("/root/main/maindata/nutrmngt["+targetRow+"]/edudd", model.getValue("/root/hidden/edudd")); // 교육일자
  603. opener.model.setValue("/root/main/maindata/nutrmngt["+targetRow+"]/edutm", model.getValue("/root/hidden/edutm")); // 교육시간
  604. }
  605. }
  606. // 영양검색결과이력 데이터 세팅
  607. else if(target == "grd_nutrsrchrslthist") {
  608. if(opener.grd_nutrsrchrslthist.rows > opener.grd_nutrsrchrslthist.fixedRows) {
  609. opener.model.setValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/delyn", "N"); // 삭제유무
  610. opener.model.setValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/educd", "004"); // 교육항목코드
  611. opener.model.setValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/educnts", cnts); // 교육내용
  612. opener.model.setValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/eduprepyn", vGridCheckValue10); // 학습준비도(Y/N)
  613. opener.model.setValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/eduwho", vGridCheckValue11); // 교육대상자(환자, 보호자, 기타)
  614. opener.model.setValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/eduway", vGridCheckValue12); // 교육방법
  615. opener.model.setValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/edurslt", vGridCheckValue13); // 교육결과
  616. opener.model.setValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/edudd", model.getValue("/root/hidden/edudd")); // 교육일자
  617. opener.model.setValue("/root/main/maindata/nutrsrchrslt["+targetRow+"]/edutm", model.getValue("/root/hidden/edutm")); // 교육시간
  618. }
  619. }
  620. else {
  621. opener.model.setValue("/root/temp/senddata/delyn", "N"); // 삭제유무
  622. opener.model.setValue("/root/temp/senddata/educd", "004"); // 교육항목코드
  623. opener.model.setValue("/root/temp/senddata/educnts", cnts); // 교육내용
  624. opener.model.setValue("/root/temp/senddata/eduprepyn", vGridCheckValue10); // 학습준비도(Y/N)
  625. opener.model.setValue("/root/temp/senddata/eduwho", vGridCheckValue11); // 교육대상자(환자, 보호자, 기타)
  626. opener.model.setValue("/root/temp/senddata/eduway", vGridCheckValue12); // 교육방법
  627. opener.model.setValue("/root/temp/senddata/edurslt", vGridCheckValue13); // 교육결과
  628. opener.model.setValue("/root/temp/senddata/edudd", model.getValue("/root/hidden/edudd")); // 교육일자
  629. opener.model.setValue("/root/temp/senddata/edutm", model.getValue("/root/hidden/edutm")); // 교육시간
  630. }
  631. opener.model.setValue("/root/main/maindata/cnstreq/cnstpsn1", eduwho); // 피상담자
  632. opener.chk_cnstpsn.refresh();
  633. return true;
  634. }
  635. function fClose(){
  636. window.close();
  637. }
  638. ]]>
  639. </script>
  640. </xhtml:head>
  641. <xhtml:body pagewidth="900" pageheight="220" guideline="1,1148;">
  642. <datagrid id="datagrid10" nodeset="/root/init/J000000010/J000000010" caption="선택^학습준비도" colsep="^" colwidth="40, 80" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:10px; top:30px; width:123px; height:75px; ">
  643. <col ref="selected" type="radio"/>
  644. <col ref="cdnm"/>
  645. </datagrid>
  646. <datagrid id="datagrid11" nodeset="/root/init/J000000011/J000000011" caption="선택^교육대상자" colsep="^" colwidth="40, 80, 0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:10px; top:105px; width:123px; height:100px; ">
  647. <col ref="selected" type="checkbox"/>
  648. <col disabled="true" ref="cdnm" type="input"/>
  649. <col ref="cdno" type="hidden"/>
  650. <script type="javascript" ev:event="xforms-value-changed">
  651. <![CDATA[
  652. ]]>
  653. </script>
  654. </datagrid>
  655. <datagrid id="datagrid12" nodeset="/root/init/J000000012/J000000012" caption="선택^교육방법" colsep="^" colwidth="40, 192, 0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:139px; top:29px; width:235px; height:176px; ">
  656. <col ref="selected" type="checkbox"/>
  657. <col disabled="true" ref="cdnm" type="input" style="left:40px; top:23px; width:150px; height:23px; "/>
  658. <col ref="cdno" type="hidden"/>
  659. <script type="javascript" ev:event="xforms-value-changed">
  660. <![CDATA[
  661. fCheckedGrd(datagrid12);
  662. ]]>
  663. </script>
  664. </datagrid>
  665. <datagrid id="datagrid13" nodeset="/root/init/J000000013/J000000013" caption="선택^교육결과" colsep="^" colwidth="40, 280, 0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:379px; top:29px; width:323px; height:176px; ">
  666. <col ref="selected" type="radio"/>
  667. <col disabled="true" ref="cdnm" type="input"/>
  668. <col ref="cdno" type="hidden"/>
  669. <script type="javascript" ev:event="xforms-value-changed">
  670. <![CDATA[
  671. fCheckedGrd(datagrid13);
  672. ]]>
  673. </script>
  674. </datagrid>
  675. <input id="ipt_edudd" ref="/root/hidden/edudd" inputtype="date" format="yyyy-mm-dd" style="left:790px; top:30px; width:90px; height:19px; "/>
  676. <caption id="caption2" style="left:705px; top:30px; width:85px; height:20px; font-weight:bold; ">* 교육일자 :</caption>
  677. <input id="ipt_edutm" ref="/root/hidden/edutm" format="hh:nn" type="input" style="left:790px; top:54px; width:65px; height:19px; "/>
  678. <caption id="caption3" style="left:705px; top:54px; width:85px; height:20px; font-weight:bold; ">* 교육시간 :</caption>
  679. <button id="btn_save" class="btn3_letter2" style="left:825px; top:185px; width:56px; height:22px; ">
  680. <caption>확인</caption>
  681. <script type="javascript" ev:event="DOMActivate">
  682. <![CDATA[
  683. fOnClickSaveBtn();
  684. ]]>
  685. </script>
  686. </button>
  687. <button id="button5" class="btn4_letter2" visibility="hidden" style="left:770px; top:160px; width:56px; height:22px; ">
  688. <caption>닫기</caption>
  689. <script type="javascript" ev:event="DOMActivate">
  690. <![CDATA[
  691. fClose();
  692. ]]>
  693. </script>
  694. </button>
  695. <caption id="caption17" ref="/root/main/patordinfo/patordinfo" class="tit_2" style="left:10px; top:5px; width:617px; height:14px; ">다학제간 환자 교육정보 입력</caption>
  696. <line id="line12" class="line_1" style="x1:10px; y1:20px; x2:702px; y2:20px; "/>
  697. <line id="line1" class="line_3" style="x1:10px; y1:210px; x2:702px; y2:210px; "/>
  698. </xhtml:body>
  699. </xhtml:html>