SPMMO03100.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 진단 ( SPMMO03100_진단.xrw - JScript )
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. */
  6. var sDIAGHIST = "/root/param/diaginfo/diagcdlist";
  7. var sDIAGHISTORG = "/root/hidden/diaghistorg/diaghist";
  8. var sDIAGCDLIST = "/root/main/diaginfo/diagcdlist";
  9. var sDIAGCDLIST_HIDDEN = "/root/hidden/diaginfo/diagcdlist";
  10. var sPRMSPRCPSETLIST = "/root/main/prmsprcpsetinfo/prmsprcpsetlist";
  11. var sPRMSPRCPSETLIST_HIDDEN = "/root/hidden/prmsprcpsetinfo/prmsprcpsetlist";
  12. var sPATPAMINFO = "/root/main/topinfo/paminfo/list";
  13. var sCONDITION = "/root/main/cond";
  14. var sSNWHISTLIST = "/root/main/snwhistlist/snwhistlist";
  15. var sCHOSINFOLIST = "/root/main/choshistinfo/choshistlist";
  16. var exndflag = true; //진단화면의 grid 확대, 축소 상태값
  17. var gPRCPDD = ""; //처방일자(입원환자 상단정보 조회를 위한)
  18. var gPID = "";
  19. var gORDDD = "";
  20. var sORDERBY = "desc";
  21. /**
  22. * @desc : 화면 초기화
  23. * @
  24. * @param :
  25. * @return :
  26. * @author : 오지훈
  27. * @---------------------------------------------------
  28. */
  29. function fInitialize_SPMMO03100(){
  30. model.removeNodeset(sDIAGCDLIST);
  31. model.removeNodeset(sDIAGHIST);
  32. model.removeNodeset(sSNWHISTLIST);
  33. model.removeNodeset(sCHOSINFOLIST);
  34. model.refresh();
  35. patinfo = opener.javascript.getParameter("SPMMO03100_patinfo");
  36. if(patinfo.length > 0){ // parameter가 있는 경우
  37. patinfo = patinfo.split("▦");
  38. gPID = patinfo[0];
  39. gORDDD = patinfo[1];
  40. }else{ // parameter가 없는 경우
  41. var paminfo = getGlobalVariable("paminfo");
  42. var patflag = getGlobalVariable("patflag");
  43. if(paminfo.length <1){ //환자 원무 정보를 찾을 수 없는 경우
  44. messageBox("선택된 환자 정보를 찾을 수", "I004");
  45. model.close();
  46. return;
  47. }else{
  48. setCSVToNode("/root/main/topinfo/paminfo", paminfo);
  49. setCSVToNode("/root/main/topinfo/patflag", patflag);
  50. gPID = model.getValue("/root/main/topinfo/paminfo/list/pid");
  51. var ioflag = model.getValue("/root/main/topinfo/patflag/list/prcpgenrflag");
  52. if(ioflag == "O" || ioflag == "S"){
  53. gORDDD= model.getValue("/root/main/topinfo/paminfo/list/orddd");
  54. }else{
  55. gORDDD= model.getValue("/root/main/topinfo/paminfo/list/indd");
  56. }
  57. }
  58. }
  59. // 2009. 02.10 pymi
  60. if(opener.javascript.getParameter("SPMMO03100_param") == "Y") {
  61. fChngDiagScrn("deptindx");
  62. button3.selected = true;
  63. } else {
  64. fChngDiagScrn("snwhist"); //default로 상병력코드 탭을 설정
  65. }
  66. grd_diagcdlist.backcoloralternate = "transparent"; //진단조회 결과 color설정
  67. }
  68. /**
  69. * @desc : 복수의 진단코드, 진단내역 등록
  70. * @
  71. * @param :
  72. * @return :
  73. * @author : 오지훈
  74. * @---------------------------------------------------
  75. */
  76. function fAddDiagHist(srcRow){
  77. var diagcd = model.getValue(sDIAGCDLIST + "[" + srcRow + "]/diagcd");
  78. var diagengnm = model.getValue(sDIAGCDLIST + "[" + srcRow + "]/diagengnm");
  79. var diaghngnm = model.getValue(sDIAGCDLIST + "[" + srcRow + "]/diaghngnm");
  80. var icd10cd = model.getValue(sDIAGCDLIST + "[" + srcRow + "]/icd10cd");
  81. var dispdiagcd= model.getValue(sDIAGCDLIST + "[" + srcRow + "]/dispdiagcd");
  82. var spclinfo = model.getValue(sDIAGCDLIST + "[" + srcRow + "]/spclinfo");
  83. grd_diaghist.addRow(false, true);
  84. desRow = grd_diaghist.row;
  85. model.setValue(sDIAGHIST + "[" + desRow + "]/status" , "I");
  86. model.setValue(sDIAGHIST + "[" + desRow + "]/diagcd" , diagcd);
  87. model.setValue(sDIAGHIST + "[" + desRow + "]/dispdiagcd", dispdiagcd);
  88. model.setValue(sDIAGHIST + "[" + desRow + "]/diagengnm" , diagengnm);
  89. model.setValue(sDIAGHIST + "[" + desRow + "]/diaghngnm" , diaghngnm);
  90. model.setValue(sDIAGHIST + "[" + desRow + "]/icd10cd" , icd10cd);
  91. model.setValue(sDIAGHIST + "[" + desRow + "]/orgdiagcd" , diagcd);
  92. model.setValue(sDIAGHIST + "[" + desRow + "]/spclinfo" , spclinfo);
  93. model.refresh();
  94. }
  95. /**
  96. * @desc : 진단화면 변경
  97. * @
  98. * @param : scrnflag - 화면구분 ( indset : 개인SET )
  99. * ( deptset : 과SET )
  100. * @return :
  101. * @author : 오지훈
  102. * @---------------------------------------------------
  103. */
  104. function fChngDiagScrn(caseID){
  105. if(caseID == "indset"){ //개인SET선택
  106. model.toggle("indset");
  107. grd_indset.caption = "개인SET";
  108. model.removeNodeset("/root/send/reqdata");
  109. model.makeValue("/root/send/reqdata/setkindcd", "P");
  110. model.makeValue("/root/send/reqdata/setclscd" , "D");
  111. model.makeValue("/root/send/reqdata/settypecd", "D");
  112. model.makeValue("/root/send/reqdata/ioflag" , "N");
  113. submit("TRMMB00601");
  114. }else if(caseID == "icd10"){ //ICD10선택
  115. model.toggle("icd10");
  116. model.removeNodeset("/root/send/reqdata");
  117. model.makeValue("/root/send/reqdata/indxflag", "0");
  118. submit("TRMMO03101");
  119. }else if(caseID == "snwhist"){ //상병력선택
  120. model.toggle("snwhist");
  121. model.removeNodeset("/root/send/reqdata");
  122. model.makeValue("/root/send/reqdata/pid", gPID);
  123. submit("TRMMO03107");
  124. }else if(caseID == "choshist"){ //내원이력선택
  125. model.toggle("choshist");
  126. model.setValue("/root/main/choscond/diagtodd", getCurrentDate());
  127. var dd = model.getValue("/root/main/choscond/diagtodd");
  128. var diagfromdd = (dd.toDate()).getAddDate(-7);
  129. diagfromdd = diagfromdd.getDateFormat();
  130. model.setValue("/root/main/choscond/diagfromdd", diagfromdd);
  131. ipt_diagfromdd.attribute("visibility") = "visible";
  132. ipt_diagtodd.attribute("visibility") = "visible";
  133. caption5.attribute("visibility") = "visible";
  134. cmb_drlist.attribute("visibility") = "hidden";
  135. cmb_deptlist.attribute("visibility") = "hidden";
  136. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept" , "A"); //부서코드 콤보
  137. addComboInstance("/root/init/orddept", "deptcd^depthngnm", "-^전체", "dept"); //부서콤보 전체항목 추가
  138. var deptcd = model.getValue("/root/init/orddept/dept[deptcd = '" + getUserInfo("dutplcecd") + "']/deptcd");
  139. if(deptcd != ""){
  140. model.setValue("/root/main/choscond/orddeptcd", deptcd);
  141. }else{
  142. model.setValue("/root/main/choscond/orddeptcd", "-");
  143. }
  144. btn_srch.dispatch("DOMActivate");
  145. }else if(caseID == "deptindx"){ //과색인선택
  146. model.toggle("deptindx");
  147. model.removeNodeset("/root/send/reqdata");
  148. model.makeValue("/root/send/reqdata/deptindxflag", "0");
  149. submit("TRMMO03111"); //과색인조회
  150. }
  151. }
  152. /**
  153. * @desc : 개인SET 진단코드 조회
  154. * @
  155. * @param :
  156. * @return :
  157. * @author : 오지훈
  158. * @---------------------------------------------------
  159. */
  160. function fReqIndSetDiagCD(){
  161. model.removeNodeset("/root/send/reqdata");
  162. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  163. var rowpos = item.index + 1;
  164. var setno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setno");
  165. var settypecd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/settypecd");
  166. if(setno == 1){
  167. return;
  168. }
  169. model.makeValue("/root/send/reqdata/setno" , setno);
  170. model.makeValue("/root/send/reqdata/settypecd", settypecd);
  171. if(submit("TRMMO03104")){
  172. }
  173. }
  174. /**
  175. * @desc : 진단코드 조회
  176. * @
  177. * @param :
  178. * @return :
  179. * @author : 오지훈
  180. * @---------------------------------------------------
  181. */
  182. function fReqDiagInfo(){
  183. var cond1 = "";
  184. var cond2 = "";
  185. var cond5 = model.getValue("/root/main/cond/reqdata");
  186. if(cond5.length < 1){ //검색어를 입력하지 않은 경우
  187. messageBox("검색어를 ", "C002");
  188. return;
  189. }
  190. var cond3 = fIsHangul(cond5); //한글, 영문구분
  191. var cond4 = getCurrentDate(); //기준일자
  192. if(cond3 == "H"){ //한글인 경우
  193. cond1 = 2;
  194. cond2 = 3;
  195. }else if(cond3 == "E"){ //영문인 경우
  196. if(isNumber(cond5.charAt(1)) == true){ //두번째 자리가 숫자는 영문코드
  197. cond1 = 1;
  198. cond2 = 1;
  199. }else{ //두번째 자리가 숫자가 아닌 경우, 영문단어
  200. cond1 = 2;
  201. cond2 = 3;
  202. }
  203. }
  204. model.removeNodeset("/root/send/reqdata");
  205. model.makeValue("/root/send/reqdata/cond1", cond1); //검색구분 1:코드, 2:명
  206. model.makeValue("/root/send/reqdata/cond2", cond2); //명칭검색구분, 1:코드, 2:단어, 3:문장, 4:첫단어
  207. model.makeValue("/root/send/reqdata/cond3", cond3); //한영구분(H:한글, E:영문)
  208. model.makeValue("/root/send/reqdata/cond4", cond4); //기준일자
  209. model.makeValue("/root/send/reqdata/cond5", cond5); //검색내용
  210. /*===============================================================================
  211. * 진단검색시 조건 추가 (나이/성별)
  212. * by sonjy 2008-07-21
  213. ===============================================================================*/
  214. var vAge = getPatientInfo("age") ;
  215. if( !isNull(vAge) ){
  216. model.makeValue("/root/send/reqdata/sexflag", getArrayData (vAge, 0, 0, "^", "/" ) );
  217. model.makeValue("/root/send/reqdata/ageflag", getArrayData (vAge, 0, 1, "^", "/" ) );
  218. }
  219. if(submit("TRMMO03103")){
  220. }
  221. }
  222. /**
  223. * @desc : ICD10코드로 진단코드 조회
  224. * @
  225. * @param :
  226. * @return :
  227. * @author : 오지훈
  228. * @---------------------------------------------------
  229. */
  230. function fSelectICD10(trvobj){
  231. var item = trvobj.item(trvobj.selectedIndex);
  232. if(item.depth == 0){ //상위index만을 클릭한 경우 return한다.
  233. return;
  234. }
  235. var indxcd = trvobj.value;
  236. model.removeNodeset("/root/send/reqdata");
  237. model.makeValue("/root/send/reqdata/reqflag" , model.getValue("/root/main/cond/reqflag"));
  238. model.makeValue("/root/send/reqdata/icd10indxcd", indxcd);
  239. if(submit("TRMMO03102")){
  240. }
  241. }
  242. /**
  243. * @desc : 환자 내원이력 조회
  244. * @
  245. * @param :
  246. * @return :
  247. * @author : 오지훈
  248. * @---------------------------------------------------
  249. */
  250. function fReqPatChosHistList(){
  251. model.removeNodeset("/root/send/reqdata");
  252. model.makeValue("/root/send/reqdata/pid" , gPID);
  253. model.makeValue("/root/send/reqdata/orddd" , gORDDD);
  254. model.makeNode("/root/send/reqdata/diagfromdd");
  255. model.makeNode("/root/send/reqdata/diagtodd");
  256. model.makeNode("/root/send/reqdata/orddeptcd");
  257. model.makeNode("/root/send/reqdata/orddrid");
  258. model.makeNode("/root/send/reqdata/queryflag");
  259. var cmbflag = model.getValue("/root/main/choscond/cmbflag");
  260. if(cmbflag == "diagdd"){ //진단일로 조회할 경우
  261. model.setValue("/root/send/reqdata/queryflag" , "diagdd");
  262. model.setValue("/root/send/reqdata/diagfromdd", model.getValue("/root/main/choscond/diagfromdd"));
  263. model.setValue("/root/send/reqdata/diagtodd" , model.getValue("/root/main/choscond/diagtodd"));
  264. }else if(cmbflag == "orddept"){ //진료과로 조회할 경우
  265. model.setValue("/root/send/reqdata/queryflag", "orddept");
  266. model.setValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/choscond/orddeptcd"));
  267. }else if(cmbflag == "orddr"){ //진료의사로 조회할 경우
  268. model.setValue("/root/send/reqdata/queryflag", "orddr");
  269. model.setValue("/root/send/reqdata/orddrid" , model.getValue("/root/main/choscond/drid"));
  270. }
  271. if(submit("TRMMO03108")){
  272. }
  273. }
  274. /**
  275. * @desc : 내원이력 조회조건 변경
  276. * @
  277. * @param :
  278. * @return :
  279. * @author : 오지훈
  280. * @---------------------------------------------------
  281. */
  282. function fChngChosCond(){
  283. var cmbflag = model.getValue("/root/main/choscond/cmbflag");
  284. if(cmbflag == "diagdd"){
  285. ipt_diagfromdd.attribute("visibility") = "visible";
  286. ipt_diagtodd.attribute("visibility") = "visible";
  287. caption5.attribute("visibility") = "visible";
  288. cmb_drlist.attribute("visibility") = "hidden";
  289. cmb_deptlist.attribute("visibility") = "hidden";
  290. }else if(cmbflag == "orddept"){
  291. cmb_drlist.disabled = "true";
  292. cmb_drlist.attribute("visibility") = "visible";
  293. cmb_deptlist.attribute("visibility") = "visible";
  294. ipt_diagfromdd.attribute("visibility") = "hidden";
  295. ipt_diagtodd.attribute("visibility") = "hidden";
  296. caption5.attribute("visibility") = "hidden";
  297. model.setValue("/root/main/choscond/drid", ""); //진단의사가 선택된 경우 값을 지운다
  298. }else if(cmbflag == "orddr"){
  299. ipt_diagfromdd.attribute("visibility") = "hidden";
  300. ipt_diagtodd.attribute("visibility") = "hidden";
  301. cmb_drlist.disabled = "false";
  302. cmb_drlist.attribute("visibility") = "visible";
  303. cmb_deptlist.attribute("visibility") = "visible";
  304. caption5.attribute("visibility") = "hidden";
  305. cmb_deptlist.dispatch("xforms-value-changed");
  306. addComboInstance("/root/init/userlist" , "userid^usernm", "-^전체", "usercombo"); //의사콤보(담당교수) 전체항목 추가
  307. }
  308. model.refresh();
  309. }
  310. /**
  311. * @desc : 진단이력 grid double click시
  312. * : iCol - 24열, 치식화면 open
  313. * @
  314. * @param :
  315. * @return :
  316. * @author : 오지훈
  317. * @---------------------------------------------------
  318. */
  319. function fDbClkDiagHist(){
  320. var currow = grd_diaghist.row;
  321. var curcol = grd_diaghist.col;
  322. if(curcol == grd_diaghist.colref("tootflagcd")){
  323. //치식등록
  324. fMakeTootFact();
  325. }else if(curcol == grd_diaghist.colref("diagremfact")){
  326. //참고사항 등록
  327. }
  328. model.refresh();
  329. }
  330. /**
  331. * @desc : 치식등록 창open
  332. * :
  333. * @
  334. * @param :
  335. * @return :
  336. * @author : 오지훈
  337. * @---------------------------------------------------
  338. */
  339. function fOpenTootFact(){
  340. var totrow = grd_diaghist.rows;
  341. var tootstr = "diagcd▦tootfact▦rtntootfact▦rowcnt▩";
  342. for(var currow = 1; currow < totrow; currow++){
  343. if(grd_diaghist.isSelected(currow) == true){
  344. var diagcd = model.getValue("/root/main/diaghistinfo/diaghist[" + currow + "]/diagcd");
  345. var tootfact = model.getValue("/root/main/diaghistinfo/diaghist[" + currow + "]/tootfact");
  346. var tmpstr = diagcd + "▦▦" +
  347. tootfact + "▦" +
  348. currow + "▩";
  349. tootstr += tmpstr;
  350. }
  351. }
  352. var xpt = event.screenX - 600;
  353. var ypt = event.screenY + 20;
  354. setParameter("param_diaglist", diagstr);
  355. modal("SPMMO10500", 1, xpt, ypt);
  356. fSetRtnTootFact();
  357. }
  358. /**
  359. * @desc : 치식 설정
  360. * :
  361. * @
  362. * @param :
  363. * @return :
  364. * @author : 오지훈
  365. * @---------------------------------------------------
  366. */
  367. function fSetRtnTootFact(){
  368. if(getParameter("rtn_useyn") == "Y"){
  369. var sDIAGLIST = getParameter("rtn_diagtootfact");
  370. setCSVToNode("/root/temp/diaglist", sDIAGLIST, "diaglist");
  371. var totrow = getNodeSetCnt("/root/temp/diaglist/diaglist");
  372. for(var i = 1; i <= totrow ; i++){
  373. var tootfact = model.getValue("/root/temp/diaglist/diaglist[" + i + "]/rtntootfact");
  374. var rowcnt = model.getValue("/root/temp/diaglist/diaglist[" + i + "]/rowcnt");
  375. model.setValue("/root/main/diaghistinfo/diaghist[" + rowcnt + "]/tootflagcd", "Y");
  376. model.setValue("/root/main/diaghistinfo/diaghist[" + rowcnt + "]/tootfact" , tootfact);
  377. }
  378. }
  379. model.refresh();
  380. }
  381. /**
  382. * @desc : 참고사항 Open
  383. * :
  384. * @
  385. * @param :
  386. * @return :
  387. * @author : 오지훈
  388. * @---------------------------------------------------
  389. */
  390. function fOpenRemFact(){
  391. var currow = grd_diaghist.row;
  392. var remfact= model.getValue("/root/main/diaghistinfo/diaghist[" + currow + "]/diagremfact");
  393. var xpt = event.screenX - 600;
  394. var ypt = event.screenY + 20;
  395. setParameter ("SPMMO03800_param_remfact", remfact);
  396. modal("SPMMO03800", 1, xpt, ypt);
  397. fSetRemFact();
  398. }
  399. /**
  400. * @desc : 참고사항 설정
  401. * :
  402. * @
  403. * @param :
  404. * @return :
  405. * @author : 오지훈
  406. * @---------------------------------------------------
  407. */
  408. function fSetRemFact(){
  409. var currow = grd_diaghist.row;
  410. if(getParameter("SPMMO03800_rtn_useyn") == "Y"){
  411. var remfact = getParameter("SPMMO03800_rtn_remfact");
  412. model.setValue("/root/main/diaghistinfo/diaghist[" + grd_diaghist.row + "]/diagremfact", remfact);
  413. }
  414. }
  415. /**
  416. * @desc : 진단내역 확장
  417. * :
  418. * @
  419. * @param :
  420. * @return :
  421. * @author : 오지훈
  422. * @---------------------------------------------------
  423. */
  424. function fCtrlSizeDiagList(){
  425. if(exndflag == true){
  426. switch1.visible = false;
  427. grd_diagcdlist.attribute("left") = 0;
  428. grd_diagcdlist.attribute("width") = 1178;
  429. grd_diaghist.attribute("left") = 0;
  430. grd_diaghist.attribute("width") = 1178;
  431. btn_expand.attribute("left") = 8;
  432. line4.attribute("x1") = 0;
  433. exndflag = false;
  434. grd_diagcdlist.colWidth(grd_diagcdlist.colRef("diagengnm")) = 392; //진단 영문명
  435. grd_diagcdlist.colWidth(grd_diagcdlist.colRef("diaghngnm")) = 399; //진단 한글명
  436. grd_diagcdlist.colWidth(grd_diagcdlist.colRef("tootflagcd"))= 48; //치식
  437. grd_diagcdlist.colWidth(grd_diagcdlist.colRef("spclinfo")) = 55; //특례정보
  438. grd_diagcdlist.colWidth(grd_diagcdlist.colRef("refval")) = 150; // 참고
  439. grd_diaghist.colWidth(grd_diaghist.colRef("diagengnm")) = 392; //진단내역 영문명
  440. grd_diaghist.colWidth(grd_diaghist.colRef("diaghngnm")) = 399; //진단내역 한글명
  441. }else{
  442. switch1.visible = true;
  443. grd_diagcdlist.attribute("left") = 539;
  444. grd_diagcdlist.attribute("width") = 639;
  445. grd_diaghist.attribute("left") = 539;
  446. grd_diaghist.attribute("width") = 639;
  447. btn_expand.attribute("left") = 546;
  448. line4.attribute("x1") = 539;
  449. exndflag = true;
  450. grd_diagcdlist.colWidth(grd_diagcdlist.colRef("diagengnm")) = 192; //진단 영문명
  451. grd_diagcdlist.colWidth(grd_diagcdlist.colRef("diaghngnm")) = 0; // 199; //진단 한글명
  452. grd_diagcdlist.colWidth(grd_diagcdlist.colRef("tootflagcd"))= 48; //치식
  453. grd_diagcdlist.colWidth(grd_diagcdlist.colRef("spclinfo")) = 55; //특례정보
  454. grd_diagcdlist.colWidth(grd_diagcdlist.colRef("refval")) = 163; // 참고
  455. grd_diaghist.colWidth(grd_diaghist.colRef("diagengnm")) = 229; //진단내역 영문명
  456. grd_diaghist.colWidth(grd_diaghist.colRef("diaghngnm")) = 229; //진단내역 한글명
  457. }
  458. model.refresh();
  459. }
  460. /**
  461. * @desc : 약속SET 선택시 진단 조회
  462. * @
  463. * @param :
  464. * @return :
  465. * @author : 오지훈
  466. * @---------------------------------------------------
  467. */
  468. function fSelectPrmsSET(){
  469. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  470. var iRow = item.index + 1;
  471. var iSetNO = model.getValue("/root/main/prmsprcpsetinfo/prmsprcpsetlist[" + iRow + "]/setno");
  472. var sSetTypeCD = model.getValue("/root/main/prmsprcpsetinfo/prmsprcpsetlist[" + iRow + "]/settypecd");
  473. model.makeValue("/root/send/reqdata/setno", iSetNO);
  474. model.makeValue("/root/send/reqdata/settypecd", sSetTypeCD);
  475. if(submit("TRMMO03104")){ //약속진단SET상세(진단코드) 조회
  476. }
  477. }
  478. /**
  479. * @desc : 과색인 조회
  480. * @
  481. * @param :
  482. * @return :
  483. * @author : 오지훈
  484. * @---------------------------------------------------
  485. */
  486. function fSelectDeptIndx(trvobj){
  487. var deptindxcd = trvobj.item(trvobj.mouseRow).value;
  488. if(deptindxcd == ""){
  489. return;
  490. }
  491. model.removeNodeset("/root/send/reqdata");
  492. model.makeValue("/root/send/reqdata/deptindxflag", "0");
  493. model.makeValue("/root/send/reqdata/deptindxcd" , deptindxcd);
  494. model.makeValue("/root/send/reqdata/deptcd" , getUserInfo("dutplcecd"));
  495. if(submit("TRMMO03112")){
  496. }
  497. }
  498. /**
  499. * @desc : 부서코드 변경시
  500. * @
  501. * @param :
  502. * @return :
  503. * @author : 오지훈
  504. * @---------------------------------------------------
  505. */
  506. function fChngDeptListCombo(){
  507. var cmbflag = model.getValue("/root/main/choscond/cmbflag");
  508. if(cmbflag == "orddr"){
  509. var deptcd = model.getValue("/root/main/choscond/orddeptcd");
  510. mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", deptcd, "0330");
  511. addComboInstance("/root/init/userlist" , "userid^usernm" , "-^전체", "usercombo"); //의사콤보(담당교수) 전체항목 추가
  512. }
  513. model.refresh();
  514. }
  515. /**
  516. * @desc : 진단추가 버튼 클릭시
  517. * @
  518. * @param :
  519. * @return :
  520. * @author : 오지훈
  521. * @---------------------------------------------------
  522. */
  523. function fClkBtnAddDiag(){
  524. var totrow = grd_diagcdlist.selectedRows;
  525. for(var i = 0; i < totrow; i++){
  526. var currow = grd_diagcdlist.selectedRow(i);
  527. fAddDiagHist(currow);
  528. }
  529. }
  530. /**
  531. * @desc : 우측상단 진단화면에서 개인진단 즐겨찾기 추가
  532. * @
  533. * @param :
  534. * @return :
  535. * @author : 오지훈
  536. * @---------------------------------------------------
  537. */
  538. function fAddEnjoyPrivate(){
  539. model.removeNodeset("/root/send/savedata");
  540. model.makeNode("/root/send/savedata");
  541. var header = "settypecd▦setkindcd▦setclscd▦settrgtcd▦detlsetcd▩";
  542. var totRow = grd_diagcdlist.rows;
  543. for(var i = 0; i < totRow ; i++){
  544. if(grd_diagcdlist.isselected(i) == true){
  545. var diagcd = model.getValue("/root/main/diaginfo/diagcdlist[" + i + "]/diagcd");
  546. var settrgtcd = getUserInfo("userid");
  547. header += "E▦P▦D▦" + settrgtcd + "▦" + diagcd + "▩";
  548. }
  549. }
  550. model.makeValue("/root/send/savedata", header);
  551. submit("TXMMB00604");
  552. }
  553. /**
  554. * @desc : 삭제버튼 클릭
  555. * @
  556. * @param :
  557. * @return :
  558. * @author : 오지훈
  559. * @---------------------------------------------------
  560. */
  561. function fClkBtnDel(){
  562. var currow = grd_diaghist.row;
  563. if(currow < 1){
  564. return;
  565. }
  566. var status = model.getValue(sDIAGHIST + "[" + currow + "]/status");
  567. if(status == "I"){
  568. grd_diaghist.deleteItem(currow);
  569. }else{
  570. model.setValue(sDIAGHIST + "[" + currow + "]/status", "D");
  571. }
  572. model.refresh();
  573. }