SMMNA00700.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697
  1. /*
  2. 공여자문진(SMMNA00700.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. //-----------------------------------
  7. // 화면 호출시
  8. //-----------------------------------
  9. var focusInBackColor = "#ffcc99";
  10. var focusOutBackColor = "#ffffff";
  11. function finit() {
  12. model.setValue("/root/main/dnorinqrinfo/dnorprcp/testdd", getCurrentDate());
  13. model.removeNodeset("/root/main/patmapinfo/patmap");
  14. model.removeNodeset("/root/main/dnorinfo/inqrlist");
  15. model.removeNodeset("/root/main/dnorinqrinfo/donlist");
  16. fcode();
  17. zbcfGetCodeList(new Array("M0376"), new Array("/root/init/M0376list")); //혈액형
  18. datagrid1.frozenCols = datagrid1.colRef("dnornm"); //그리드 틀고정
  19. fGetPatinfo();
  20. }
  21. //--------------------------
  22. // 컨트롤focusin backcolor
  23. //--------------------------
  24. function ffocusInBackColor() {
  25. var Control = document.all.item(event.currentTarget);
  26. Control.attribute("background-color") = focusInBackColor;
  27. }
  28. function ffocusOutBackColor() {
  29. var Control = document.all.item(event.currentTarget);
  30. Control.attribute("background-color") = focusOutBackColor;
  31. }
  32. //--------------------------
  33. // 상단정보 내리기
  34. //--------------------------
  35. function fGetPatinfo() {
  36. var sPath = "/root/main/paminfo";
  37. //설정된 상단정보를 불러옴
  38. var node = getGlobalVariable("paminfo");
  39. if (node !=null) {
  40. model.makeNode(sPath);
  41. setCSVToNode(sPath, node);
  42. var pid, indd, cretno, mskind, histstat;
  43. pid = model.getValue(sPath +"/list/pid");
  44. //patinfo 정보 셋팅
  45. if ( !isNull(pid) ) {
  46. model.setValue("/root/main/leftref/code1" , "1");
  47. model.setValue("/root/main/leftref/code2" , "1");
  48. model.setValue("/root/main/leftref/codedata", model.getValue(sPath +"/list/pid") );
  49. fpatmapsel();
  50. }
  51. }
  52. }
  53. /**
  54. * @group :
  55. * @ver : 2007.12.28
  56. * @by : 신혁춘
  57. * @---------------------------------------------------
  58. * @type : function
  59. * @access : public
  60. * @desc : 공통코드 조회
  61. * @param :
  62. * @return :
  63. * @---------------------------------------------------
  64. */
  65. function fcode(flag){
  66. submit("TRMNA00701")
  67. }
  68. /**
  69. * @group :
  70. * @ver : 2007.12.28
  71. * @by : 신혁춘
  72. * @---------------------------------------------------
  73. * @type : function
  74. * @access : public
  75. * @desc : Mapping 정보 조회
  76. * @param :
  77. * @return :
  78. * @---------------------------------------------------
  79. */
  80. function fpatmapsel(flag){
  81. var cond1 = model.getValue("/root/main/leftref/code1");
  82. var cond2 = model.getValue("/root/main/leftref/code2");
  83. var conddata = model.getValue("/root/main/leftref/codedata");
  84. if(conddata.length==0){
  85. messageBox("검색할 값을", "C001");
  86. return;
  87. }
  88. if(cond2 == "2"){
  89. if(conddata.length<6){
  90. if(conddata.length==0){
  91. }else{
  92. messageBox("최소6자 이상", "C001");
  93. return;
  94. }
  95. }
  96. }
  97. if(cond2 == "3"){
  98. if(conddata.length<2){
  99. if(conddata.length==0){
  100. return;
  101. }else{
  102. messageBox("최소2자 이상", "C001");
  103. return;
  104. }
  105. }
  106. }
  107. model.removeNodeset("/root/send");
  108. model.makeValue("/root/send/code1",model.getValue("/root/main/leftref/code1"));
  109. model.makeValue("/root/send/code2",model.getValue("/root/main/leftref/code2"));
  110. model.makeValue("/root/send/codedata",conddata);
  111. submit("TRMNA00702")
  112. }
  113. /**
  114. * @group :
  115. * @ver : 2007.12.28
  116. * @by : 신혁춘
  117. * @---------------------------------------------------
  118. * @type : function
  119. * @access : public
  120. * @desc : 공여자 문진내역 조회
  121. * @param :
  122. * @return :
  123. * @---------------------------------------------------
  124. */
  125. function fdnorsel(flag){
  126. var iRow = datagrid1.row - 1
  127. var xPatMap = "/root/main/patmapinfo/patmap";
  128. model.removeNodeset("/root/send");
  129. model.makeValue("/root/send/tnsrpid",model.getValue(xPatMap+"["+iRow+"]/tnsrpid"));
  130. model.makeValue("/root/send/dnorno",model.getValue(xPatMap+"["+iRow+"]/dnorno"));
  131. model.makeValue("/root/send/dnorseqno",model.getValue(xPatMap+"["+iRow+"]/dnorseqno"));
  132. submit("TRMNA00703")
  133. resetfunc();
  134. }
  135. /**7
  136. * @group :
  137. * @ver : 2007.12.29
  138. * @by : 신혁춘
  139. * @---------------------------------------------------
  140. * @type : function
  141. * @access : public
  142. * @desc : 문진내역 조회후 기록정보 세팅
  143. * @param :
  144. * @return :
  145. * @---------------------------------------------------
  146. */
  147. function resetfunc(){
  148. model.resetInstanceNode("/root/main/dnorinqrinfo/dnorprcp");
  149. model.removeNodeset("/root/main/dnorinqrinfo/donlist");
  150. model.refresh();
  151. var irow = datagrid1.row - 1;
  152. model.setValue("/root/main/dnorinqrinfo/dnorprcp/tnsrpid", model.getValue("/root/main/patmapinfo/patmap[" + irow + "]/tnsrpid"));
  153. model.setValue("/root/main/dnorinqrinfo/dnorprcp/tnsrnm", model.getValue("/root/main/patmapinfo/patmap[" + irow + "]/tnsrnm"));
  154. model.setValue("/root/main/dnorinqrinfo/dnorprcp/dnorno", model.getValue("/root/main/patmapinfo/patmap[" + irow + "]/dnorno"));
  155. model.setValue("/root/main/dnorinqrinfo/dnorprcp/dnorseqno", model.getValue("/root/main/patmapinfo/patmap[" + irow + "]/dnorseqno"));
  156. model.setValue("/root/main/dnorinqrinfo/dnorprcp/btype", model.getValue("/root/main/dnorinfo/dnordetl/btype"));
  157. model.setValue("/root/main/dnorinqrinfo/dnorprcp/tnsrabo", "-");
  158. model.setValue("/root/main/dnorinqrinfo/dnorprcp/tnsrrh", "-");
  159. model.setValue("/root/main/dnorinqrinfo/dnorprcp/bpjudg", "1");
  160. model.setValue("/root/main/dnorinqrinfo/dnorprcp/bptpjudg", "1");
  161. model.setValue("/root/main/dnorinqrinfo/dnorprcp/pulsejudg", "1");
  162. model.setValue("/root/main/dnorinqrinfo/dnorprcp/blodjudg", "1");
  163. model.setValue("/root/main/dnorinqrinfo/dnorprcp/hemogjudg", "1");
  164. model.setValue("/root/main/dnorinqrinfo/dnorprcp/bplateletjudg","1");
  165. model.setValue("/root/main/dnorinqrinfo/dnorprcp/pasttotprotjudg", "1");
  166. model.setValue("/root/main/dnorinqrinfo/dnorprcp/agejudg", "1");
  167. model.setValue("/root/main/dnorinqrinfo/dnorprcp/tnsrrh", "+");
  168. model.setValue("/root/main/dnorinqrinfo/dnorprcp/inqrdd", getCurrentDate());
  169. model.setValue("/root/main/dnorinqrinfo/dnorprcp/ingrtm", getCurrentTime());
  170. model.setValue("/root/main/dnorinqrinfo/dnorprcp/ingrrid", getUserId());
  171. model.setValue("/root/main/dnorinqrinfo/dnorprcp/recrid", getUserId());
  172. model.setValue("/root/main/dnorinqrinfo/dnorprcp/recnm", getUserName());
  173. model.setValue("/root/main/dnorinqrinfo/dnorprcp/recdd", getCurrentDate());
  174. model.setValue("/root/main/dnorinqrinfo/dnorprcp/rectm", getCurrentTime());
  175. model.setValue("/root/main/dnorinqrinfo/dnorprcp/iudgb", "I");
  176. //----------------(20080204)
  177. model.setValue("/root/main/dnorinqrinfo/dnorprcp/testdd", getCurrentDate());
  178. model.setValue("/root/main/dnorinqrinfo/dnorprcp/patrela", "2");
  179. model.setValue("/root/main/dnorinqrinfo/dnorprcp/donflag", "2");
  180. //----------------
  181. //----------------(20080728)
  182. model.setValue('/root/main/dnorinqrinfo/dnorprcp/agenval', model.getValue('/root/main/dnorinfo/dnordetl/age'));//연령 default 공여자 나이
  183. model.setValue('/root/main/dnorinqrinfo/dnorprcp/doncareryn', 'Y');//헌혈경험 : '유'
  184. //----------------(20080903)
  185. model.setValue('/root/main/dnorinqrinfo/dnorprcp/rectdondd', model.getValue("/root/main/patmapinfo/patmap[" + irow + "]/rectdondd"));//최근헌혈일
  186. fDisabledDonFlag();
  187. case1.disabled = false;
  188. //model.setFocus("inp_testdd");
  189. model.setFocus("cbo_btype"); //(20080417)
  190. model.refresh();
  191. }
  192. /**
  193. * @group :
  194. * @ver : 2007.12.29
  195. * @by : 신혁춘
  196. * @---------------------------------------------------
  197. * @type : function
  198. * @access : public
  199. * @desc : 기록정보 저장
  200. * @param :
  201. * @return :
  202. * @---------------------------------------------------
  203. */
  204. function fSave(){
  205. //2008.07.28 dhkim 유효성 체크 펑션으로 만듬.
  206. if(fIsValid()){
  207. model.removeNodeset("/root/send");
  208. model.makenode("/root/send/dnorprcp")
  209. model.copyNode("/root/send/dnorprcp", "/root/main/dnorinqrinfo/dnorprcp");
  210. model.makeValue("/root/send/donlist",datagrid2.getUpdateDataAll("i"));
  211. if (submit("TXMNA00701")){
  212. var dayt = model.getValue("/root/main/dnorinqrinfo/dnorprcp/recdd");
  213. var timet = model.getValue("/root/main/dnorinqrinfo/dnorprcp/rectm");
  214. var gs = dayt+timet
  215. fdnorsel();
  216. fdnorprcpsel(gs)
  217. }
  218. }
  219. }
  220. // ---------------------------------------
  221. // 2008.07.28 dhkim
  222. // 공여자문진 저장전 필수입력 유효성을 체크한다.
  223. // ---------------------------------------
  224. function fIsValid(){
  225. var xDnorInqrInfo = '/root/main/dnorinqrinfo/dnorprcp'; //문진기록 xPath
  226. if(model.getValue(xDnorInqrInfo + '/recrid') == ''){//기록자 아이디
  227. messageBox("기록자ID은(는) 필수입력사항입니다.", "E999", "");
  228. var objContNm = fControlFind(xDnorInqrInfo + "/recrid");
  229. if (objContNm != "") {
  230. model.setFocus(objContNm);
  231. }
  232. return false;
  233. }
  234. if(model.getValue(xDnorInqrInfo + '/recnm') == ''){//기록자명
  235. messageBox("기록자명은(는) 필수입력사항입니다.", "E999", "");
  236. var objContNm = fControlFind(xDnorInqrInfo + "/recnm");
  237. if (objContNm != "") {
  238. model.setFocus(objContNm);
  239. }
  240. return false;
  241. }
  242. if(model.getValue(xDnorInqrInfo + '/recdd') == ''){//기록일
  243. messageBox("기록일은(는) 필수입력사항입니다.", "E999", "");
  244. var objContNm = fControlFind(xDnorInqrInfo + "/recdd");
  245. if (objContNm != "") {
  246. model.setFocus(objContNm);
  247. }
  248. return false;
  249. }
  250. if(model.getValue(xDnorInqrInfo + '/rectm') == ''){//기록시
  251. messageBox("기록시간은(는) 필수입력사항입니다.", "E999", "");
  252. var objContNm = fControlFind(xDnorInqrInfo + "/rectm");
  253. if (objContNm != "") {
  254. model.setFocus(objContNm);
  255. }
  256. return false;
  257. }
  258. if(model.getValue(xDnorInqrInfo + '/testdd') == ''){//검사일
  259. messageBox("검사일은(는) 필수입력사항입니다.", "E999", "");
  260. var objContNm = fControlFind(xDnorInqrInfo + "/testdd");
  261. if (objContNm != "") {
  262. model.setFocus(objContNm);
  263. }
  264. return false;
  265. }
  266. if(model.getValue(xDnorInqrInfo + '/btype') == ''){//공여자혈액형
  267. messageBox("공여자혈액형은(는) 필수입력사항입니다.", "E999", "");
  268. var objContNm = fControlFind(xDnorInqrInfo + "/btype");
  269. if (objContNm != "") {
  270. model.setFocus(objContNm);
  271. }
  272. return false;
  273. }
  274. if(model.getValue(xDnorInqrInfo + '/patrela') == ''){//환자와의관계
  275. messageBox("환자와의관계은(는) 필수입력사항입니다.", "E999", "");
  276. var objContNm = fControlFind(xDnorInqrInfo + "/patrela");
  277. if (objContNm != "") {
  278. model.setFocus(objContNm);
  279. }
  280. return false;
  281. }
  282. var doncareryn = model.getValue(xDnorInqrInfo + '/doncareryn');//헌혈경험
  283. var donflag = model.getValue(xDnorInqrInfo + '/donflag');//헌혈구분
  284. if(doncareryn == ''){
  285. messageBox("헌혈경험은(는) 필수입력사항입니다.", "E999", "");
  286. var objContNm = fControlFind(xDnorInqrInfo + "/doncareryn");
  287. if (objContNm != "") {
  288. model.setFocus(objContNm);
  289. }
  290. return false;
  291. }
  292. if(doncareryn == 'Y'){//헌혈경험이 '유'일경우
  293. if(model.getValue(xDnorInqrInfo + '/rectdondd') == ''){//최근헌혈일
  294. messageBox("최근헌혈일은(는) 필수입력사항입니다.", "E999", "");
  295. var objContNm = fControlFind(xDnorInqrInfo + "/rectdondd");
  296. if (objContNm != "") {
  297. model.setFocus(objContNm);
  298. }
  299. return false;
  300. }
  301. if(donflag == ''){
  302. messageBox("헌혈구분은(는) 필수입력사항입니다.", "E999", "");
  303. var objContNm = fControlFind(xDnorInqrInfo + "/donflag");
  304. if (objContNm != "") {
  305. model.setFocus(objContNm);
  306. }
  307. return false;
  308. }
  309. }else if(doncareryn == 'N'){
  310. model.setValue(xDnorInqrInfo + '/rectdondd', '');
  311. model.refresh();
  312. }
  313. if(donflag == '1'){//헌혈구분이 전혈헌혈일 경우
  314. if(model.getValue(xDnorInqrInfo + '/donkind') == ''){//전혈헌혈
  315. messageBox("전혈헌혈은(는) 필수입력사항입니다.", "E999", "");
  316. var objContNm = fControlFind(xDnorInqrInfo + "/donkind");
  317. if (objContNm != "") {
  318. model.setFocus(objContNm);
  319. }
  320. return false;
  321. }
  322. if(model.getValue(xDnorInqrInfo + '/comdon') != ''){//성분헌혈에 값이 입력된경우 값은 지워줌.
  323. model.setValue(xDnorInqrInfo + '/comdon', '');
  324. model.refresh();
  325. }
  326. }else if(donflag == '2'){//헌혈구분이 성분헌혈일 경우
  327. if(model.getValue(xDnorInqrInfo + '/comdon') == ''){//성분헌혈
  328. messageBox("성분헌혈은(는) 필수입력사항입니다.", "E999", "");
  329. var objContNm = fControlFind(xDnorInqrInfo + "/comdon");
  330. if (objContNm != "") {
  331. model.setFocus(objContNm);
  332. }
  333. return false;
  334. }
  335. if(model.getValue(xDnorInqrInfo + '/donkind') != ''){//전혈헌혈에 값이 입력된경우 값은 지워줌.
  336. model.setValue(xDnorInqrInfo + '/donkind', '');
  337. model.refresh();
  338. }
  339. }
  340. if(model.getValue(xDnorInqrInfo + '/donrefrslt') == ''){//조회결과
  341. messageBox("조회결과은(는) 필수입력사항입니다.", "E999", "");
  342. var objContNm = fControlFind(xDnorInqrInfo + "/donrefrslt");
  343. if (objContNm != "") {
  344. model.setFocus(objContNm);
  345. }
  346. return false;
  347. }
  348. if(model.getValue(xDnorInqrInfo + '/donchfmmthd') == ''){//실명확인방법
  349. messageBox("실명확인방법은(는) 필수입력사항입니다.", "E999", "");
  350. var objContNm = fControlFind(xDnorInqrInfo + "/donchfmmthd");
  351. if (objContNm != "") {
  352. model.setFocus(objContNm);
  353. }
  354. return false;
  355. }
  356. return true;
  357. }
  358. //---------------------
  359. // control 찾기
  360. //---------------------
  361. function fControlFind(xPath) {
  362. var childObjCnt = document.controls.length;
  363. var childObj;
  364. for (var i=0; i < childObjCnt; i++) {
  365. childObj = document.controls.item(i);
  366. var ref = childObj.attribute("ref");
  367. if (ref == xPath) {
  368. return childObj.attribute("id");
  369. break;
  370. }
  371. }
  372. return "";
  373. }
  374. //---------------------
  375. /**
  376. * @group :
  377. * @ver : 2007.12.29
  378. * @by : 신혁춘
  379. * @---------------------------------------------------
  380. * @type : function
  381. * @access : public
  382. * @desc : 기록정보 조회
  383. * @param :
  384. * @return :
  385. * @---------------------------------------------------
  386. */
  387. function fdnorprcpsel(flag){
  388. var xInqrList = "/root/main/dnorinfo/inqrlist";
  389. if(flag != null){
  390. var Row = datagrid4.rows;
  391. for(i=0; i<Row; i++){
  392. var tt = model.getValue(xInqrList+"["+i+"]/inqrddtm")
  393. if(flag == tt){
  394. var iRow = i
  395. break;
  396. }
  397. }
  398. }else{
  399. var iRow = datagrid4.row;
  400. }
  401. model.removeNodeset("/root/send");
  402. model.makeValue("/root/send/tnsrpid", model.getValue(xInqrList+"["+iRow+"]/tnsrpid"));
  403. model.makeValue("/root/send/dnorno", model.getValue(xInqrList+"["+iRow+"]/dnorno"));
  404. model.makeValue("/root/send/dnorseqno", model.getValue(xInqrList+"["+iRow+"]/dnorseqno"));
  405. model.makeValue("/root/send/seqno", model.getValue(xInqrList+"["+iRow+"]/seqno"));
  406. if (submit("TRMNA00704")){
  407. }
  408. }
  409. /**
  410. * @group :
  411. * @ver : 2007.12.29
  412. * @by : 신혁춘
  413. * @---------------------------------------------------
  414. * @type : function
  415. * @access : public
  416. * @desc : 기록정보 삭제
  417. * @param :
  418. * @return :
  419. * @---------------------------------------------------
  420. */
  421. function fdel(){
  422. model.removeNodeset("/root/send");
  423. model.makenode("/root/send/dnorprcp")
  424. model.copyNode("/root/send/dnorprcp", "/root/main/dnorinqrinfo/dnorprcp");
  425. if (submit("TXMNA00702")){
  426. fdnorsel();
  427. }
  428. }
  429. // --------------------------------------------------
  430. // 오른쪽 마우스버튼
  431. // --------------------------------------------------
  432. function fnonmousedown() {
  433. var pGrd = datagrid1;
  434. pGrd.row = pGrd.mouseRow;
  435. if (pGrd.rows <= 1 || pGrd.row <= 0 ) return;
  436. fShowPopupMenu("datagrid1","/root/main/menuitems/inmenu/item");
  437. /*
  438. if (model.getValue( "/root/main/dsc/dscList["+grd_dscList.mouseRow+"]/pid")== "") return;
  439. var colnm = grd_dscList.valueMatrix(0, grd_dscList.mouseCol);
  440. var tmpcareinrmdd = model.getValue( "/root/main/dsc/dscList["+grd_dscList.mouseRow+"]/tmpcareinrmdd");
  441. var oppatflagcd = model.getValue( "/root/main/dsc/dscList["+grd_dscList.mouseRow+"]/oppatflagcd");
  442. colnm = colnm.substring(0,2);
  443. var sdschdd1 = model.getValue( "/root/main/dsc/dscList["+grd_dscList.mouseRow+"]/dschdd");
  444. sdschdd1 = sdschdd1.replace("-","");
  445. sdschdd1 = sdschdd1.substring(0,1);
  446. //---(수술환자+angio(수술정보없음)
  447. // if(oppatflagcd=="D"&&colnm== "입실"&&tmpcareinrmdd.substring(0,1)=="-") { // DSC 환자, 입실시각칼럼, 입실시각이 적용되지 않은 경우("-")에만 입실시각 메뉴 나타나도록
  448. // fShowPopupMenu("grd_dscList","/root/main/menuitems/inmenu/item");
  449. // }else {
  450. // fShowPopupMenu("grd_dscList","/root/main/menuitems/grdmenu/item");
  451. // }
  452. if (rdo_dscflag.value == "D") {
  453. //if(colnm== "입실"&&tmpcareinrmdd.substring(0,1)=="-") { // DSC 환자, 입실시각칼럼, 입실시각이 적용되지 않은 경우("-")에만 입실시각 메뉴 나타나도록
  454. if(colnm== "입실") { // DSC 환자, 입실시각칼럼, 입실시각이 적용되지 않은 경우("-")에만 입실시각 메뉴 나타나도록
  455. fShowPopupMenu("grd_dscList","/root/main/menuitems/inmenu/item");
  456. }else {
  457. fShowPopupMenu("grd_dscList","/root/main/menuitems/grdmenu/item");
  458. }
  459. } else {
  460. fShowPopupMenu("grd_dscList","/root/main/menuitems/grdmenu/item");
  461. }
  462. */
  463. }
  464. // --------------------------------------------------
  465. // 팝업메뉴
  466. // --------------------------------------------------
  467. function fShowPopupMenu(gridID, menuPath)
  468. {
  469. var gridObj = document.controls.item(gridID);
  470. if(event.button == 3) {
  471. if(gridObj.isCell(event.target) && gridObj.mouseRow >= gridObj.fixedrows){
  472. window.setPopupMenu(true, menuPath, "name", "func", false);
  473. }else{
  474. window.setPopupMenu(false);
  475. }
  476. }
  477. }
  478. //-------------------------------------
  479. // 오른쪽 마우스 호출되는 팝업둑ENR
  480. //-------------------------------------
  481. function fSetPopup01() {
  482. //상단올리기
  483. fSetPatInfo();
  484. modal("SMLBD01300", "", "", "", "", "", ""); //공여자처방입력
  485. }
  486. function fSetPopup02() {
  487. //상단올리기
  488. fSetPatInfo();
  489. modal("SMMNA00600", "", "", "", "", "", ""); //공여자등록
  490. }
  491. function fSetPopup03() {
  492. //상단올리기
  493. fSetPatInfo();
  494. modal("SMMRF02300", "", "", "", "", "", ""); //ocr서식지출력
  495. }
  496. function fSetPopup04() {
  497. //상단올리기
  498. fSetPatInfo();
  499. modal("SMLBD00900", "", "", "", "", "", ""); //검사결과판정조회
  500. }
  501. // --------------------------------------------------
  502. // 상단환자정보세팅하기
  503. // --------------------------------------------------
  504. function fSetPatInfo()
  505. {
  506. //공여자등록과 공여자문진의 상단정보 올리기 파라미터가 다르므로 주의
  507. var pGrd = datagrid1;
  508. if (pGrd.rows <=2 || pGrd.row <= 1) return;
  509. var pGrdrow = pGrd.row-1; //헤더가 2row이므로 현재row-1이 값의 위치값이다.!
  510. var sPath = "/root/main/patmapinfo/patmap["+ pGrdrow+"]" ;
  511. //우측마우스버튼클릭시도 상단올릴수 있도록
  512. // var sChk = model.getValue(sPath + "/flag"); //선택된자료만
  513. // if (sChk != "1") return;
  514. var siogb = model.getValue(sPath + "/iogb");
  515. if (siogb == "입원") siogb = "I";
  516. if (siogb == "외래") siogb = "O";
  517. if (siogb == "") {
  518. messageBox("접수정보가 없습니다.", "E999", "");
  519. return;
  520. }
  521. var pid = model.getValue(sPath + "/tnsrpid");
  522. var orddd = model.getValue(sPath + "/orddd");
  523. var cretno = model.getValue(sPath + "/cretno");
  524. var instcd = getUserInfo("dutplceinstcd");
  525. var param = siogb + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd;
  526. //alert(param);
  527. setParameter("condparam", param);
  528. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  529. /*
  530. var useyn = getParameter("SPMMO08900_rtn_useyn");
  531. if(useyn == "Y"){
  532. setParameter("SPMMO08900_rtn_useyn", "");
  533. fInitPamInfo(); //화면 기본 정보 설정
  534. }else{
  535. return;
  536. }
  537. */
  538. }
  539. //------------------------
  540. // 혈액 부적격 항목 내역 row 추가
  541. //------------------------
  542. function fAddRow() {
  543. datagrid2.addRow();
  544. var irow = datagrid2.row;
  545. var irow1 = datagrid1.row - 1;
  546. model.setValue("/root/main/dnorinqrinfo/donlist[" + irow + "]/tnsrpid", model.getValue("/root/main/patmapinfo/patmap[" + irow1 + "]/tnsrpid"));
  547. model.setValue("/root/main/dnorinqrinfo/donlist[" + irow + "]/dnorno", model.getValue("/root/main/patmapinfo/patmap[" + irow1 + "]/dnorno"));
  548. model.setValue("/root/main/dnorinqrinfo/donlist[" + irow + "]/dnorseqno", model.getValue("/root/main/patmapinfo/patmap[" + irow1 + "]/dnorseqno"));
  549. model.refresh();
  550. //첫번째 컴럼으로 이동하고 입력모드이벤트를 호출함
  551. datagrid2.col= datagrid2.colRef("disqitemno");
  552. datagrid2.dispatch("onentercell");
  553. }
  554. //------------------------
  555. // 혈액 부적격 항목 내역 row 삭제
  556. //------------------------
  557. function fDeleteRow() {
  558. datagrid2.deleteItem(datagrid2.row);
  559. }
  560. //------------------------
  561. // 혈액 부적격 항목 입력 모드 설정(onentercell이벤트에서 호출)
  562. //------------------------
  563. function fEditMode() {
  564. //그리드 입력사항이면 edit 모드로 설정함
  565. if( datagrid2.colType(datagrid2.col) == "input" ) {
  566. datagrid2.editCell();
  567. }
  568. var colref = datagrid2.colAttribute(datagrid2.col,"ref");
  569. switch (colref) {
  570. case "disqdetlresn":
  571. datagrid2.colAttribute(datagrid2.col, "imemode") ="hangul"; //한글설정
  572. break;
  573. }
  574. }
  575. //--------------------------------------------------------------------
  576. // 2008.07.28 dhkim
  577. // 헌혈경험 유/무에 따라 최근헌혈일 disabled/enabled 처리
  578. //--------------------------------------------------------------------
  579. function fDisabledDonYn(){
  580. var doncareYn = model.getValue("/root/main/dnorinqrinfo/dnorprcp/doncareryn");
  581. if(doncareYn == "Y"){//헌혈경험 유
  582. //값 초기화
  583. model.setValue(input38.attribute("ref"), "");//최근헌혈일
  584. model.setValue(radio4.attribute("ref"), "2");//헌혈구분 : 성분헌혈
  585. model.setValue(radio5.attribute("ref"), "");//전혈헌혈
  586. model.setValue(radio3.attribute("ref"), "");//성분헌혈
  587. }else if(doncareYn == "N"){//헌혈경험 무
  588. //값 초기화
  589. model.setValue(input38.attribute("ref"), "");//최근헌혈일
  590. }
  591. model.refresh();
  592. }
  593. //--------------------------------------------------------------------
  594. // 2008.07.28 dhkim
  595. // 헌혈구분 전혈헌혈/성분헌혈에 따라 전혈헌혈, 성분헌혈 disabled/enabled 처리
  596. //--------------------------------------------------------------------
  597. function fDisabledDonFlag(){
  598. var doncareYn = model.getValue("/root/main/dnorinqrinfo/dnorprcp/doncareryn");//헌혈경험
  599. var donflag = model.getValue("/root/main/dnorinqrinfo/dnorprcp/donflag");//헌혈구분
  600. if(doncareYn == "Y"){//헌혈경험 유
  601. if(donflag == '1'){//전혈헌혈
  602. //값 초기화
  603. model.setValue(radio3.attribute("ref"), "");//성분헌혈
  604. }else if(donflag == '2'){//성분헌혈
  605. model.setValue(radio5.attribute("ref"), "");//전혈헌혈
  606. }
  607. }else if(doncareYn == "N"){//헌혈경험 무
  608. //값 초기화
  609. model.setValue(input38.attribute("ref"), "");//최근헌혈일
  610. }
  611. model.refresh();
  612. }