SPMMB00600.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 진단연계수술 ( SPMMB00600_진단연계수술.xrw - JScript )
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. */
  6. var gSELECT = "";
  7. var gOPCOL = "";
  8. var gDIAGCOL= "";
  9. var sPRMSPRCPSETLIST = "/root/main/prmsprcpsetinfo/prmsprcpsetlist";
  10. var sPRMSPRCPSETLIST_HIDDEN = "/root/hidden/prmsprcpsetinfo/prmsprcpsetlist";
  11. var sETCPRMSPRCPSETDETLLIST = "/root/main/etcprmsprcpsetdetlinfo/etcprmsprcpsetdetllist";
  12. var sPRMSPRCPSETLIST_TMP = "/root/hidden/etcprmsprcpsettmp/etcprmsprcpsetlist";
  13. /**
  14. * @desc : 진단연계수술 초기화
  15. * @
  16. * @param :
  17. * @return :
  18. * @author : 오지훈
  19. * @---------------------------------------------------
  20. */
  21. function fInitialize_SPMMB00600(){
  22. //fReqDiagOpCoordSETTree("P");
  23. fReqDiagOpCoordSETTree("D");
  24. btn_deldiag.disabled = true;
  25. btn_savediag.disabled = true;
  26. btn_delop.disabled = true;
  27. btn_saveop.disabled = true;
  28. btn_op.disabled = true;
  29. model.removeNodeset("/root/main/diaglinkinfo/diaglinklist");
  30. model.removeNodeset("/root/main/oplinkinfo/oplinklist");
  31. model.refresh();
  32. grd_diaglinklist.addRow();
  33. }
  34. /**
  35. * @desc : 진단연계수술 SET Tree조회
  36. * @
  37. * @param :
  38. * @return :
  39. * @author : 오지훈
  40. * @---------------------------------------------------
  41. */
  42. function fReqDiagOpCoordSETTree(setkindcd){
  43. if(setkindcd == "P"){ //개인
  44. var deptcd = "";
  45. var deptnm = "";
  46. var settypecd = "A";
  47. }else{
  48. var deptcd = getUserInfo("dutplcecd");
  49. var deptnm = getUserInfo("dutplcenm");
  50. var settypecd = "B";
  51. }
  52. model.removeNodeset("/root/send/reqdata");
  53. model.makeValue("/root/send/reqdata/setkindcd", setkindcd); //개인, 부서
  54. model.makeValue("/root/send/reqdata/setclscd" , "D"); //의사
  55. model.makeValue("/root/send/reqdata/settypecd", settypecd); //처방, 진단, 수술, 프로토콜
  56. model.makeValue("/root/send/reqdata/procflag" , ""); //처리구분(타부서SET 조회시 설정)
  57. model.makeValue("/root/send/reqdata/deptcd" , deptcd); //부서코드(타부서SET 조회시 설정)
  58. model.makeValue("/root/send/reqdata/deptnm" , deptnm); //부서명 (타부서SET 조회시 설정)
  59. model.makeValue("/root/send/reqdata/ioflag" , "O"); //외래입원구분
  60. if(submit("TRMMB00601")){
  61. trv_prmsprcpsetlist.rebuild();
  62. }
  63. }
  64. /**
  65. * @desc : 새폴더 추가
  66. * @
  67. * @param :
  68. * @return :
  69. * @authur : 오지훈
  70. * @---------------------------------------------------
  71. */
  72. function fAddPrmsDiagSet(){
  73. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  74. var rowPos = item.index + 1;
  75. if(fSetPrmsDiagInfo(rowPos, "i")!=-1){
  76. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/status", "i");
  77. model.refresh();
  78. fShowWndIptBox();
  79. }
  80. }
  81. /**
  82. * @desc : 폴더 삭제
  83. * @
  84. * @param :
  85. * @return :
  86. * @authur : 오지훈
  87. * @---------------------------------------------------
  88. */
  89. function fDelPrmsDiagSet(){
  90. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  91. var rowPos = item.index + 1;
  92. if(fSetPrmsDiagInfo(rowPos, "d")!= -1){
  93. fSavePrmsDiagSet();
  94. }
  95. }
  96. /**
  97. * @desc : 폴더 수정
  98. * @
  99. * @param :
  100. * @return :
  101. * @authur : 오지훈
  102. * @---------------------------------------------------
  103. */
  104. function fUpdtPrmsDiagSet(){
  105. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  106. var rowPos = item.index + 1;
  107. if(fSetPrmsDiagInfo(rowPos, "u")!=-1){
  108. fShowWndIptBox();
  109. }
  110. }
  111. /**
  112. * @desc : 약속SET저장
  113. * @
  114. * @param :
  115. * @return :
  116. * @authur : 오지훈
  117. * @---------------------------------------------------
  118. */
  119. function fSavePrmsDiagSet(){
  120. var setnm = model.getValue("/root/main/iptbox/setnm");
  121. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setnm", setnm);
  122. model.copyNode("/root/send/savedata", sPRMSPRCPSETLIST_HIDDEN);
  123. if(submit("TXMMB00601")){
  124. model.setValue(trv_prmsprcpsetlist.attribute("ref"), "");
  125. trv_prmsprcpsetlist.rebuild();
  126. }
  127. }
  128. /**
  129. * @desc : 약속SET 폴더명을 입력할 InputBox를 보여줌.
  130. * @
  131. * @param :
  132. * @return :
  133. * @authur : 오지훈
  134. * @---------------------------------------------------
  135. */
  136. function fShowWndIptBox(){
  137. group1.attribute("top") = event.clientY;
  138. group1.attribute("height") = 55;
  139. model.setFocus("ipt_setnm");
  140. model.refresh();
  141. }
  142. /**
  143. * @desc : 약속SET정보 SETTING
  144. * @
  145. * @param :
  146. * @return :
  147. * @authur : 오지훈
  148. * @---------------------------------------------------
  149. */
  150. function fSetPrmsDiagInfo(rowpos, status){
  151. var setno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setno");
  152. var settypecd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/settypecd");
  153. if(status == "u" && setno == 1){
  154. messageBox("선택한 폴더는 수정", "E001");
  155. return -1;
  156. }else if(status == "d" && setno == 1){
  157. messageBox("선택한 폴더는 삭제", "E001");
  158. return -1;
  159. }else if(settypecd == "E"){
  160. messageBox("선택한 폴더는 사용", "E001");
  161. return -1;
  162. }
  163. var levl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
  164. var supsetno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/supsetno");
  165. var setkindcd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setkindcd");
  166. var setclscd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setclscd");
  167. var settrgtcd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/settrgtcd");
  168. var settypecd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/settypecd");
  169. var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setnm");
  170. var sortno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/sortno");
  171. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/levl" , levl);
  172. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setno" , setno);
  173. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setkindcd", setkindcd);
  174. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setclscd" , setclscd);
  175. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/settrgtcd", settrgtcd);
  176. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/settypecd", settypecd);
  177. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/status" , status);
  178. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setnm" , setnm);
  179. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/ioflag" , "O");
  180. if(status == "i"){
  181. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/supsetno" , setno);
  182. }else{
  183. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/supsetno" , supsetno);
  184. }
  185. if(sortno == "")
  186. sortno = 1000;
  187. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/sortno" , sortno);
  188. model.refresh();
  189. }
  190. /**
  191. * @desc : 약속진단 SET저장
  192. * @
  193. * @param :
  194. * @return :
  195. * @authur : 오지훈
  196. * @---------------------------------------------------
  197. */
  198. function fSavePrmsDiagSet(){
  199. var setnm = model.getValue("/root/main/iptbox/setnm");
  200. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setnm", setnm);
  201. model.copyNode("/root/send/savedata", sPRMSPRCPSETLIST_HIDDEN);
  202. if(submit("TXMMB00601")){
  203. trv_prmsprcpsetlist.rebuild();
  204. }
  205. }
  206. /**
  207. * @desc : 진단용어코드 검색
  208. * @
  209. * @param :
  210. * @return :
  211. * @author : 오지훈
  212. * @---------------------------------------------------
  213. */
  214. function fSearchDiagTermCD(){
  215. var status = grd_diaglinklist.valueMatrix(grd_diaglinklist.row, grd_diaglinklist.colRef("status"));
  216. var dispdiagcd = grd_diaglinklist.valueMatrix(grd_diaglinklist.row, grd_diaglinklist.colRef("dispdiagcd"));
  217. var diagengnm = grd_diaglinklist.valueMatrix(grd_diaglinklist.row, grd_diaglinklist.colRef("diagengnm"));
  218. if(status == "-"){ //기존의 data를 클릭한 경우
  219. return;
  220. }
  221. if(dispdiagcd == "" && diagengnm == ""){ //아무 값도 입력하지 않는 경우 return
  222. return;
  223. }
  224. grd_diaglinklist.col = gDIAGCOL;
  225. //alert(grd_diaglinklist.col + "," + grd_diaglinklist.colRef("dispdiagcd"));
  226. if(grd_diaglinklist.col == grd_diaglinklist.colRef("dispdiagcd")){
  227. setParameter("SPMMO00800_cond1", 1);
  228. setParameter("SPMMO00800_cond2", 1);
  229. setParameter("SPMMO00800_cond3", "E");
  230. setParameter("SPMMO00800_cond4", getCurrentDate());
  231. setParameter("SPMMO00800_cond5", grd_diaglinklist.valueMatrix(grd_diaglinklist.row, grd_diaglinklist.colRef("dispdiagcd")));
  232. }else if(grd_diaglinklist.col == grd_diaglinklist.colRef("diagengnm")){
  233. setParameter("SPMMO00800_cond1", 2);
  234. setParameter("SPMMO00800_cond2", 2);
  235. setParameter("SPMMO00800_cond3", fIsHangul(diagengnm));
  236. setParameter("SPMMO00800_cond4", getCurrentDate());
  237. setParameter("SPMMO00800_cond5", grd_diaglinklist.valueMatrix(grd_diaglinklist.row, grd_diaglinklist.colRef("diagengnm")));
  238. }else{
  239. return;
  240. }
  241. modal("SPMMO00800");
  242. var useyn = getParameter("SPMMO00800_rtn_useyn");
  243. if(useyn == "Y"){
  244. setParameter("SPMMO00800_rtn_useyn", "");
  245. fSetDiagTermCD();
  246. }else{
  247. setParameter("SPMMO00800_rtn_useyn", "");
  248. var currow = grd_diaglinklist.row;
  249. model.setValue("/root/main/diaglinkinfo/diaglinklist[" + currow + "]/dispdiagcd", "");
  250. model.setValue("/root/main/diaglinkinfo/diaglinklist[" + currow + "]/diagengnm" , "");
  251. model.removeNode("/root/main/diaglinkinfo/diaglinklist[" + currow + "]");
  252. model.refresh();
  253. }
  254. }
  255. /**
  256. * @desc : 진단용어코드 설정
  257. * @
  258. * @param :
  259. * @return :
  260. * @author : 오지훈
  261. * @---------------------------------------------------
  262. */
  263. function fSetDiagTermCD(){
  264. var rtnparam = getParameter("SPMMO00800_rtn");
  265. rtnparam = rtnparam.split("▩");
  266. var setno = model.getValue("/root/selected/setno");
  267. var reqflag = model.getValue("/root/main/cond/reqflag");
  268. if(reqflag == "P"){ //개인
  269. settypecd = "A";
  270. }else{
  271. settypecd = "B";
  272. }
  273. for(var i = 1; i <= rtnparam.length-2; i++){
  274. var tmpstr = rtnparam[i];
  275. tmpstr = tmpstr.split("▦");
  276. var currow = grd_diaglinklist.rows - 1;
  277. model.setValue("/root/main/diaglinkinfo/diaglinklist[" + currow + "]/status" , "i");
  278. model.setValue("/root/main/diaglinkinfo/diaglinklist[" + currow + "]/dispdiagcd", tmpstr[1]);
  279. model.setValue("/root/main/diaglinkinfo/diaglinklist[" + currow + "]/diagcd" , tmpstr[9]);
  280. model.setValue("/root/main/diaglinkinfo/diaglinklist[" + currow + "]/diagengnm" , tmpstr[2]);
  281. model.setValue("/root/main/diaglinkinfo/diaglinklist[" + currow + "]/setno" , setno);
  282. model.setValue("/root/main/diaglinkinfo/diaglinklist[" + currow + "]/settypecd" , settypecd);
  283. model.setValue("/root/main/diaglinkinfo/diaglinklist[" + currow + "]/orgdiagcd" , tmpstr[6]); //원진단코드추가(2008.02.12)
  284. grd_diaglinklist.addRow(true, true);
  285. }
  286. model.recalculate();
  287. model.refresh();
  288. }
  289. /**
  290. * @desc : 진단수술연계 진단 조회
  291. * @
  292. * @param :
  293. * @return :
  294. * @author : 오지훈
  295. * @---------------------------------------------------
  296. */
  297. function fReqDiagLinkOpList(){
  298. model.removeNodeset("/root/send/reqdata");
  299. var reqflag = model.getValue("/root/main/cond/reqflag");
  300. if(reqflag == "P"){ //개인
  301. var settypecd = "A";
  302. }else{
  303. var settypecd = "B";
  304. }
  305. model.makeValue("/root/send/reqdata/setno" , trv_prmsprcpsetlist.value);
  306. model.makeValue("/root/send/reqdata/settypecd", settypecd);
  307. if(submit("TRMMB00607")){
  308. }
  309. }
  310. /**
  311. * @desc : 수술용어코드 검색
  312. * @
  313. * @param :
  314. * @return :
  315. * @author : 오지훈
  316. * @---------------------------------------------------
  317. */
  318. function fSearchOpTermCD(){
  319. var dispopcd = grd_oplinklist.valueMatrix(grd_oplinklist.row, grd_oplinklist.colRef("dispopcd"));
  320. var opengnm = grd_oplinklist.valueMatrix(grd_oplinklist.row, grd_oplinklist.colRef("opengnm"));
  321. var status = grd_oplinklist.valueMatrix(grd_oplinklist.row, grd_oplinklist.colRef("status"));
  322. if(status == "-"){ //기존의 data를 클릭한 경우
  323. return;
  324. }
  325. if(dispopcd == "" && opengnm == ""){ //아무 값도 입력하지 않는 경우 return
  326. return;
  327. }
  328. grd_oplinklist.col = gOPCOL; //addRow이후 grid focus를 놓치는 버그 때문에 추가함
  329. if(grd_oplinklist.col == grd_oplinklist.colRef("dispopcd")){
  330. var param = "1▦" + "1▦E▦" + getCurrentDate() + "▦" + grd_oplinklist.valueMatrix(grd_oplinklist.row, grd_oplinklist.colRef("dispopcd"));
  331. setParameter("SPMMO05200_param", param);
  332. }else if(grd_oplinklist.col == grd_oplinklist.colRef("opengnm")){
  333. var param = "2▦2▦" + fIsHangul(opengnm) + "▦" + getCurrentDate() + "▦" + opengnm;
  334. setParameter("SPMMO05200_param", param);
  335. }
  336. modal("SPMMO05200");
  337. var useyn = getParameter("SPMMO05200_rtn_useyn");
  338. if(useyn == "Y"){
  339. setParameter("SPMMO05200_rtn_useyn", "");
  340. fSetOpTermCD();
  341. }else{
  342. setParameter("SPMMO05200_rtn_useyn", "");
  343. var currow = grd_oplinklist.row;
  344. model.setValue("/root/main/oplinkinfo/oplinklist[" + currow + "]/dispopcd" , "");
  345. model.setValue("/root/main/oplinkinfo/oplinklist[" + currow + "]/opengnm" , "");
  346. model.refresh();
  347. }
  348. }
  349. /**
  350. * @desc : 수술용어코드 설정
  351. * @
  352. * @param :
  353. * @return :
  354. * @author : 오지훈
  355. * @---------------------------------------------------
  356. */
  357. function fSetOpTermCD(){
  358. var rtnparam = getParameter("SPMMO05200_rtn_param");
  359. rtnparam = rtnparam.split("▩");
  360. var reqflag = model.getValue("/root/main/cond/reqflag");
  361. if(reqflag == "P"){ //개인
  362. settypecd = "A";
  363. }else{
  364. settypecd = "B";
  365. }
  366. for(var i = 0; i <= rtnparam.length-2; i++){
  367. var tmpstr = rtnparam[i];
  368. tmpstr = tmpstr.split("▦");
  369. var currow = grd_oplinklist.rows-1;
  370. model.setValue("/root/main/oplinkinfo/oplinklist[" + currow + "]/status" , "i");
  371. model.setValue("/root/main/oplinkinfo/oplinklist[" + currow + "]/setno" , model.getValue("/root/selected/setno"));
  372. model.setValue("/root/main/oplinkinfo/oplinklist[" + currow + "]/settypecd" , settypecd);
  373. model.setValue("/root/main/oplinkinfo/oplinklist[" + currow + "]/diagcd" , model.getValue("/root/selected/diagcd"));
  374. model.setValue("/root/main/oplinkinfo/oplinklist[" + currow + "]/opcd" , tmpstr[1]);
  375. model.setValue("/root/main/oplinkinfo/oplinklist[" + currow + "]/dispopcd" , tmpstr[0]);
  376. model.setValue("/root/main/oplinkinfo/oplinklist[" + currow + "]/opengnm" , tmpstr[2]);
  377. grd_oplinklist.addRow(true, true);
  378. }
  379. model.recalculate();
  380. model.refresh();
  381. }
  382. /**
  383. * @desc : 진단수술 연계 SET 수술상세 조회
  384. * @
  385. * @param : diagcd 진단코드
  386. * @return :
  387. * @author : 오지훈
  388. * @---------------------------------------------------
  389. */
  390. function fReqDiagLinkOpDetlList(diagcd, setno){
  391. var reqflag = model.getValue("/root/main/cond/reqflag");
  392. if(reqflag == "P"){ //개인
  393. settypecd = "A";
  394. }else{
  395. settypecd = "B";
  396. }
  397. model.removeNodeset("/root/send/reqdata");
  398. model.makeValue("/root/send/reqdata/setno" , setno);
  399. model.makeValue("/root/send/reqdata/settypecd", settypecd);
  400. model.makeValue("/root/send/reqdata/diagcd" , diagcd);
  401. if(submit("TRMMB00608")){
  402. model.setValue("/root/selected/diagcd", diagcd);
  403. grd_oplinklist.addRow(true, true);
  404. grd_oplinklist.col = grd_oplinklist.colRef("dispopcd");
  405. grd_oplinklist.editCell();
  406. }
  407. model.refresh();
  408. }
  409. /**
  410. * @desc : 진단수술 연계 SET 수술상세 선택
  411. * @
  412. * @param :
  413. * @return :
  414. * @author : 오지훈
  415. * @---------------------------------------------------
  416. */
  417. function fSelectOpCD(){
  418. var diagcd = model.getValue("/root/main/diaglinkinfo/diaglinklist[" + grd_diaglinklist.row + "]/diagcd");
  419. var dispdiagcd = model.getValue("/root/main/diaglinkinfo/diaglinklist[" + grd_diaglinklist.row + "]/dispdiagcd");
  420. var diagengnm = model.getValue("/root/main/diaglinkinfo/diaglinklist[" + grd_diaglinklist.row + "]/diagengnm");
  421. var opcd = model.getValue("/root/main/oplinkinfo/oplinklist[" + grd_oplinklist.row + "]/opcd");
  422. var dispopcd = model.getValue("/root/main/oplinkinfo/oplinklist[" + grd_oplinklist.row + "]/dispopcd");
  423. var opengnm = model.getValue("/root/main/oplinkinfo/oplinklist[" + grd_oplinklist.row + "]/opengnm");
  424. var param = diagcd + "▦" + dispdiagcd + "▦" + diagengnm + "▦" + opcd + "▦" + dispopcd + "▦" + opengnm;
  425. opener.javascript.setParameter("SPMMB00600_rtn_param", param);
  426. opener.javascript.setParameter("SPMMB00600_rtn_useyn", "Y");
  427. model.close();
  428. }
  429. /**
  430. * @desc : 진단그리드 클릭시
  431. * @
  432. * @param :
  433. * @return :
  434. * @author : 오지훈
  435. * @---------------------------------------------------
  436. */
  437. function fClkGrdDiagLinkList(curcol){
  438. var status = model.getValue("/root/main/diaglinkinfo/diaglinklist[" + grd_diaglinklist.row + "]/status");
  439. if(status == "i" || status == ""){ //신규인 경우는 처리안함
  440. btn_delop.disabled = true;
  441. btn_saveop.disabled= true;
  442. btn_op.disabled= true;
  443. model.removeNodeset("/root/main/oplinkinfo/oplinklist");
  444. model.refresh();
  445. grd_oplinklist.addRow(true, true);
  446. grd_diaglinklist.col = curcol;
  447. grd_diaglinklist.editCell();
  448. }else{
  449. btn_delop.disabled = false;
  450. btn_saveop.disabled = false;
  451. btn_op.disabled= false;
  452. var reqflag = model.getValue("/root/main/cond/reqflag");
  453. if(reqflag == "P"){
  454. var settypecd = "A";
  455. }else{
  456. var settypecd = "B";
  457. }
  458. var diagcd = model.getValue("/root/main/diaglinkinfo/diaglinklist[" + grd_diaglinklist.row + "]/diagcd");
  459. var setno = model.getValue("/root/main/diaglinkinfo/diaglinklist[" + grd_diaglinklist.row + "]/setno");
  460. var status = model.getValue("/root/main/diaglinkinfo/diaglinklist[" + grd_diaglinklist.row + "]/status");
  461. model.makeValue("/root/send/reqdata/setno" , setno);
  462. model.makeValue("/root/send/reqdata/diagcd" , diagcd);
  463. model.makeValue("/root/send/reqdata/settypecd", settypecd);
  464. fReqDiagLinkOpDetlList(diagcd, setno);
  465. }
  466. model.recalculate();
  467. }
  468. /**
  469. * @desc : 삭제버튼 클릭
  470. * @
  471. * @param :
  472. * @return :
  473. * @author : 오지훈
  474. * @---------------------------------------------------
  475. */
  476. function fClkBtnDel(grdobj){
  477. var currow = grdobj.row;
  478. if(currow < 1){
  479. return;
  480. }
  481. var sNODE_PATH = grdobj.nodeset;
  482. var status = model.getValue(sNODE_PATH + "[" + currow + "]/status");
  483. if(status == "i"){ //신규인경우
  484. model.removeNode(sNODE_PATH + "[" + currow + "]");
  485. }else{
  486. model.setValue(sNODE_PATH + "[" + currow + "]/status", "d");
  487. }
  488. model.refresh();
  489. }
  490. /**
  491. * @desc : SET TreeView 선택시
  492. * @
  493. * @param :
  494. * @return :
  495. * @author : 오지훈
  496. * @---------------------------------------------------
  497. */
  498. function fSelectTreeView(){
  499. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  500. if(item == null){return;}
  501. var currow = item.index + 1;
  502. var levl = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/levl");
  503. var setno = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/setno");
  504. if(levl != 1){
  505. btn_deldiag.disabled = false;
  506. btn_savediag.disabled = false;
  507. }else{
  508. btn_deldiag.disabled = true;
  509. btn_savediag.disabled = true;
  510. btn_delop.disabled = true;
  511. btn_saveop.disabled = true;
  512. btn_op.disabled= true;
  513. }
  514. fReqDiagLinkOpList();
  515. model.removeNodeset("/root/main/oplinkinfo/oplinklist");
  516. grd_diaglinklist.addRow(true, true);
  517. grd_diaglinklist.col = grd_diaglinklist.colRef("dispdiagcd");
  518. grd_diaglinklist.editCell();
  519. model.setValue("/root/selected/setno", setno);
  520. model.refresh();
  521. }
  522. /**
  523. * @desc : 진단연계수술 그리드 clear
  524. * @
  525. * @param :
  526. * @return :
  527. * @author : 오지훈
  528. * @---------------------------------------------------
  529. */
  530. function fClearDiagOpGrd(){
  531. model.removeNodeset("/root/main/diaglinkinfo/diaglinklist");
  532. model.removeNodeset("/root/main/oplinkinfo/oplinklist");
  533. grd_diaglinklist.addRow(true, true);
  534. grd_oplinklist.addRow(true, true);
  535. model.refresh();
  536. }