SPMRF04700.js 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912
  1. var sTREE_OBJ = grd_indxlist;
  2. var sTREE_PATH = "/root/main/indxlist/item"; // 트리 경로
  3. var sComnList_Path = "/root/main/list/comnlist"; // 상용구 경로
  4. var sExmpList_Path = "/root/main/list/exmplist"; // 예문 경로
  5. var sItemIndxSeqList = new Array();
  6. var sDeptComnSeeqList = new Array();
  7. var sUserComnSeqList = new Array();
  8. var sDeptComnCntsList = new Array();
  9. var sUsercomnCntsList = new Array();
  10. var sBeforeIndxRow = 0;
  11. var sBeforeSetFlag = "";
  12. /**
  13. * @desc : 화면 초기화
  14. * @
  15. * @param :
  16. * @return :
  17. * @---------------------------------------------------
  18. */
  19. function fInitialize(){
  20. model.toggle("case2");
  21. model.setValue("/root/send/cond/caseflag","C"); // C : 상용구, E : 예문
  22. if (isPopup()){
  23. var formprogflag = opener.window.javascript.getParameter("comn_formprogflag"); // PROF : 제증명, A : Summary, B : 주호소, E : 마취기록, G : 의료협력
  24. var degnitemcd = opener.window.javascript.getParameter("comn_degnitemcd");
  25. var srcformcd = opener.window.javascript.getParameter("comn_srcformcd");
  26. var comnchosflag = opener.window.javascript.getParameter("comn_chosflag"); // C : 상용구, E : 예문
  27. var openmode = opener.window.javascript.getParameter("openmode");
  28. var indxflag = "";
  29. // if(formprogflag == "") formprogflag= "PROF";
  30. // 색인 구분
  31. if(formprogflag == "PROF"){ // 제증명
  32. indxflag = "D";
  33. model.makeValue("/root/send/cond/chosflag", "folder"); //분류 flag
  34. model.makeValue("/root/send/cond/formcd", srcformcd); // 서식코드
  35. btn_indxsave.visible = true;
  36. btn_newindx.visible = true;
  37. }else if(formprogflag == "A" || formprogflag == "B" || formprogflag == "E" || formprogflag == "G"){
  38. indxflag = formprogflag;
  39. model.makeValue("/root/send/cond/chosflag", "folder"); //분류 flag
  40. btn_indxsave.visible = true;
  41. btn_newindx.visible = true;
  42. }else{
  43. model.makeValue("/root/send/cond/chosflag", "item"); //분류 flag
  44. btn_indxsave.visible = false;
  45. btn_newindx.visible = false;
  46. }
  47. // if(comnchosflag == "") comnchosflag = "C";
  48. // if(comnchosflag == "") comnchosflag = "E";
  49. // if(srcformcd !="" && degnitemcd !=""){
  50. if(comnchosflag == "C") // 상용구
  51. {
  52. model.toggle("case2");
  53. model.setValue("/root/send/cond/caseflag","C");
  54. }
  55. else if(comnchosflag == "E") // 예문
  56. {
  57. model.toggle("case1");
  58. model.setValue("/root/send/cond/caseflag","E");
  59. }
  60. model.makeValue("/root/send/cond/formcd", srcformcd); // 서식코드
  61. model.makeValue("/root/send/cond/indxflag", indxflag); // 색인구분 (A: Summary, B: 주호소, D : 제증명, C : My폴더)
  62. model.makeValue("/root/send/cond/clsflag", indxflag); // 분류구분(A: Summary, B: 주호소, D : 제증명, G : My폴더)
  63. sBeforeSetFlag = model.getValue("/root/send/cond/setflag");
  64. fSelectUserDeptcd("/root/send/cond");
  65. if(submit("TRMRF04701")){
  66. if(indxflag == ""){ // 일반서식의 경우는 색인 추가를 안함
  67. sTREE_OBJ.isReadOnly(1,4,1,sTREE_OBJ.rows) = true;
  68. var iRow = sTREE_OBJ.findRow(model.getValue(sTREE_PATH+"[degnitemcd='"+degnitemcd+"']/seq"),1, 17);
  69. sTREE_OBJ.row = iRow;
  70. model.refresh();
  71. fReqComnIndx();
  72. }
  73. }
  74. /*
  75. if(openmode == "insert")
  76. {
  77. fAddComnCnts(comnchosflag);
  78. } */
  79. // }
  80. }
  81. }
  82. /**
  83. * @desc : 개인 과 구분
  84. * @
  85. * @param :
  86. * @return :
  87. * @---------------------------------------------------
  88. */
  89. function fSelectUserDeptcd(ref){
  90. var setflag = model.getValue("/root/send/cond/setflag");
  91. if(setflag != ""){
  92. if (setflag == "U") {
  93. model.makeValue(ref+"/userid", getUserId()); //
  94. model.makeValue(ref+"/deptcd", getUserInfo("dutplcecd")); //
  95. }else if (setflag == "D") {
  96. model.makeValue(ref+"/userid", ""); //getUserId());
  97. model.makeValue(ref+"/deptcd", getUserInfo("dutplcecd")); //
  98. }
  99. }
  100. }
  101. /**
  102. * @desc : 트리정보로 상용구조회
  103. * @
  104. * @param :
  105. * @return :
  106. * @---------------------------------------------------
  107. */
  108. function fReqComnIndx(){
  109. var comnchosflag = model.getValue("/root/send/cond/caseflag");
  110. var indxflag = model.getValue("/root/send/cond/indxflag");
  111. //개인,과 구분위해서..
  112. var setflag = model.getValue("/root/send/cond/setflag");
  113. var degnitemcd = "";
  114. var itemindxseq = "";
  115. var comnseqs = "";
  116. var comncnts = "";
  117. var datayn = false;
  118. var grd = null;
  119. if(comnchosflag == "C"){
  120. grd = document.controls("grd_comnlist");
  121. }else if(comnchosflag == "E"){
  122. grd = document.controls("grd_exmplist");
  123. }
  124. var ref = grd.attribute("nodeset");
  125. if(sBeforeIndxRow > 0){
  126. for(var iRow=grd.fixedrows; iRow<=(grd.rows-grd.fixedrows); iRow++){
  127. if(model.getValue(ref+"["+iRow+"]/check") == "true"){
  128. if(comnseqs != ""){
  129. comnseqs += "▦";
  130. comncnts += "▦";
  131. }
  132. comnseqs += model.getValue(ref+"["+iRow+"]/comnseq");
  133. comncnts += model.getValue(ref+"["+iRow+"]/comncnts");
  134. }
  135. }
  136. degnitemcd = model.getValue(sTREE_PATH+ "[" + sBeforeIndxRow + "]/degnitemcd");
  137. itemindxseq = model.getValue(sTREE_PATH+ "[" + sBeforeIndxRow + "]/itemindxseq");
  138. for(var i=0; i< sItemIndxSeqList.length; i++){
  139. if((indxflag == "" && sItemIndxSeqList[i] == degnitemcd) ||
  140. (indxflag != "" && sItemIndxSeqList[i] == itemindxseq)){
  141. if(sBeforeSetFlag == "U"){ //사용자
  142. if(sUserComnSeqList[i] != comnseqs) sUserComnSeqList[i] = comnseqs;
  143. if(sUsercomnCntsList[i] != comncnts) sUsercomnCntsList[i] = comncnts;
  144. }else if(sBeforeSetFlag == "D"){ // 부서
  145. if(sDeptComnSeeqList[i] != comnseqs) sDeptComnSeeqList[i] = comnseqs;
  146. if(sDeptComnCntsList[i] != comncnts) sDeptComnCntsList[i] = comncnts;
  147. }
  148. datayn = true;
  149. }
  150. }
  151. if(datayn == false && comnseqs != ""){
  152. var indx = sItemIndxSeqList.length;
  153. if(indxflag == "")
  154. sItemIndxSeqList[indx] = degnitemcd;
  155. else
  156. sItemIndxSeqList[indx] = itemindxseq;
  157. if(sBeforeSetFlag == "U"){ //사용자
  158. sUserComnSeqList[indx] = comnseqs;
  159. sUsercomnCntsList[indx] = comncnts;
  160. }else if(sBeforeSetFlag == "D"){ // 부서
  161. sDeptComnSeeqList[indx] = comnseqs;
  162. sDeptComnCntsList[indx] = comncnts;
  163. }
  164. }
  165. }
  166. var rows = sTREE_OBJ.row;
  167. var iStatus = sTREE_OBJ.rowStatus(rows);
  168. if(rows < 1 || iStatus == 1 || iStatus == 3){
  169. if(comnchosflag == "C"){
  170. model.removeNodeset("/root/main/list/comnlist");
  171. grd_comnlist.rebuild();
  172. }else if(comnchosflag == "E"){
  173. model.removeNodeset("/root/main/list/exmplist");
  174. grd_exmplist.rebuild();
  175. }
  176. return;
  177. }
  178. var reqflag;
  179. if(setflag != ""){
  180. if (setflag == "U") {
  181. model.makeValue("/root/send/reqdata/userid", getUserId()); //
  182. model.makeValue("/root/send/reqdata/deptcd", getUserInfo("dutplcecd"));
  183. reqflag ="U";
  184. }else if (setflag == "D") {
  185. model.makeValue("/root/send/reqdata/userid", ""); //getUserId());
  186. model.makeValue("/root/send/reqdata/deptcd", getUserInfo("dutplcecd"));
  187. reqflag ="D";
  188. }
  189. }
  190. var clsflag = model.getValue(sTREE_PATH+ "[" + rows + "]/clsflag");
  191. itemindxseq = model.getValue(sTREE_PATH+ "[" + rows + "]/itemindxseq");
  192. var srcformcd = model.getValue(sTREE_PATH+ "[" + rows + "]/srcformcd");
  193. degnitemcd = model.getValue(sTREE_PATH+ "[" + rows + "]/degnitemcd");
  194. var comnclspath = model.getValue(sTREE_PATH+ "[" + rows + "]/pathcd");
  195. var comnseq = model.getValue(sTREE_PATH+ "[" + rows + "]/comnseq");
  196. // formcd만 넘기면 공통서식조회, 둘다 넘기면 상세 조회
  197. if(itemindxseq == -100){
  198. // formcd만 넘기면 공통서식조회, 둘다 넘기면 상세 조회
  199. model.makeValue("/root/send/reqdata/formcd" ,srcformcd);
  200. model.makeValue("/root/send/reqdata/itembasecd", degnitemcd.substr(0,7));
  201. }else{
  202. model.makeValue("/root/send/reqdata/itemindxseq" ,itemindxseq);
  203. model.makeValue("/root/send/reqdata/comnclspath" ,comnclspath);
  204. }
  205. model.makeValue("/root/send/reqdata/folderflag", ""); //상위폴더구분
  206. model.makeValue("/root/send/reqdata/reqflag", reqflag); //개인,과, 전체 구분 flag
  207. model.makeValue("/root/send/reqdata/clsflag", clsflag); //분류 flag
  208. model.makeValue("/root/send/reqdata/comnchosflag", comnchosflag); //분류 flag
  209. model.makeValue("/root/send/reqdata/reqnm", model.getValue("/root/send/cond/reprnm"));
  210. if(submit("TRMRF04702")){
  211. var icomnseq = "";
  212. var comnseqs;
  213. sBeforeIndxRow = rows;
  214. sBeforeSetFlag = model.getValue("/root/send/cond/setflag");
  215. var comnrow = 0;
  216. for(var i=0; i< sItemIndxSeqList.length; i++){
  217. if((indxflag == "" && sItemIndxSeqList[i] == degnitemcd) ||
  218. (indxflag != "" && sItemIndxSeqList[i] == itemindxseq)){
  219. if(setflag == "U"){ // 사용자
  220. if(sUserComnSeqList[i] != "" && sUserComnSeqList[i] != null){
  221. comnseqs = sUserComnSeqList[i].split("▦");
  222. for(var j=0; j<comnseqs.length; j++){
  223. if(comnseqs[j] != ""){
  224. comnrow = grd.findRow(comnseqs[j],1,3);
  225. if(comnrow > 0) model.setValue(ref+"["+comnrow+"]/check", "true");
  226. }
  227. }
  228. }
  229. }else if(setflag == "D"){ // 부서
  230. if(sDeptComnSeeqList[i] != "" && sDeptComnSeeqList[i] != null){
  231. comnseqs = sDeptComnSeeqList[i].split("▦");
  232. for(var j=0; j<comnseqs.length; j++){
  233. if(comnseqs[j] != ""){
  234. comnrow = grd.findRow(comnseqs[j],1,3);
  235. if(comnrow > 0) model.setValue(ref+"["+comnrow+"]/check", "true");
  236. }
  237. }
  238. }
  239. }
  240. }
  241. }
  242. }
  243. model.refresh();
  244. }
  245. /**
  246. * @desc : 상용구 선택
  247. * @
  248. * @param :
  249. * @return :
  250. * @---------------------------------------------------
  251. */
  252. function fSelectComnEx()
  253. {
  254. var iRowStatus = 0;
  255. var msg = "";
  256. if(opener.javascript.getParameter("openmode") == "select" ||
  257. opener.javascript.getParameter("openmode") == "insert")
  258. {
  259. var comnchosflag = model.getValue("/root/send/cond/caseflag");
  260. var grd = null;
  261. var indxflag = model.getValue("/root/send/cond/indxflag");
  262. var setflag = model.getValue("/root/send/cond/setflag");
  263. if(model.getValue("/root/send/cond/caseflag") == "C"){
  264. grd = document.controls("grd_comnlist");
  265. msg = "상용구";
  266. }else if(model.getValue("/root/send/cond/caseflag") == "E"){
  267. grd = document.controls("grd_exmplist");
  268. msg = "예문";
  269. }
  270. var ref = grd.attribute("nodeset");
  271. var rows = sTREE_OBJ.row;
  272. var comnseqs = "";
  273. var comncnts = "";
  274. var degnitemcd = "";
  275. var itemindxseq = "";
  276. var datayn = false;
  277. for(var iRow=grd.fixedrows; iRow<=(grd.rows-grd.fixedrows); iRow++){
  278. if(model.getValue(ref+"["+iRow+"]/check") == "true"){
  279. if(comnseqs != ""){
  280. comnseqs += "▦";
  281. comncnts += "▦";
  282. }
  283. comnseqs += model.getValue(ref+"["+iRow+"]/comnseq");
  284. comncnts += model.getValue(ref+"["+iRow+"]/comncnts");
  285. }
  286. }
  287. degnitemcd = model.getValue(sTREE_PATH+ "[" + rows + "]/degnitemcd");
  288. itemindxseq = model.getValue(sTREE_PATH+ "[" + rows + "]/itemindxseq");
  289. for(var i=0; i< sItemIndxSeqList.length; i++){
  290. if((indxflag == "" && sItemIndxSeqList[i] == degnitemcd) ||
  291. (indxflag != "" && sItemIndxSeqList[i] == itemindxseq)){
  292. if(setflag == "U"){ //사용자
  293. if(sUserComnSeqList[i] != comnseqs) sUserComnSeqList[i] = comnseqs;
  294. if(sUsercomnCntsList[i] != comncnts) sUsercomnCntsList[i] = comncnts;
  295. }else if(setflag == "D"){ // 부서
  296. if(sDeptComnSeeqList[i] != comnseqs) sDeptComnSeeqList[i] = comnseqs;
  297. if(sDeptComnCntsList[i] != comncnts) sDeptComnCntsList[i] = comncnts;
  298. }
  299. datayn = true;
  300. }
  301. }
  302. if(datayn == false && comnseqs != ""){
  303. var indx = sItemIndxSeqList.length;
  304. if(indxflag == "")
  305. sItemIndxSeqList[indx] = degnitemcd;
  306. else
  307. sItemIndxSeqList[indx] = itemindxseq;
  308. if(setflag == "U"){ //사용자
  309. sUserComnSeqList[indx] = comnseqs;
  310. sUsercomnCntsList[indx] = comncnts;
  311. }else if(setflag == "D"){ // 부서
  312. sDeptComnSeeqList[indx] = comnseqs;
  313. sDeptComnCntsList[indx] = comncnts;
  314. }
  315. }
  316. var rtnmsg = "";
  317. var comncnts = "";
  318. var comncntslist = "";
  319. if(indxflag == "" ){
  320. for(var i=0; i<sItemIndxSeqList.length; i++){
  321. comncnts = "";
  322. if(sUsercomnCntsList[i] != "" && sUsercomnCntsList[i] != null){
  323. comncntslist = sUsercomnCntsList[i].split("▦");
  324. for(var j=0; j<comncntslist.length; j++){
  325. if(comncntslist[j] != ""){
  326. if(comncnts != "") comncnts += "\n";
  327. comncnts += comncntslist[j];
  328. }
  329. }
  330. }
  331. if(sDeptComnCntsList[i] != "" && sDeptComnCntsList[i] != null){
  332. comncntslist = sDeptComnCntsList[i].split("▦");
  333. for(var j=0; j<comncntslist.length; j++){
  334. if(comncntslist[j] != ""){
  335. if(comncnts != "") comncnts += "\n";
  336. comncnts += comncntslist[j];
  337. }
  338. }
  339. }
  340. if(comncnts != "") rtnmsg += sItemIndxSeqList[i]+"▦" +comncnts+"▩";
  341. }
  342. opener.javascript.setParameter("comncnts", rtnmsg);
  343. }else{
  344. for(var i=0; i<sItemIndxSeqList.length; i++){
  345. comncnts = "";
  346. if(sUsercomnCntsList[i] != "" && sUsercomnCntsList[i] != null){
  347. comncntslist = sUsercomnCntsList[i].split("▦");
  348. for(var j=0; j<comncntslist.length; j++){
  349. if(comncntslist[j] != ""){
  350. if(comncnts != "") comncnts += "\n";
  351. comncnts += comncntslist[j];
  352. }
  353. }
  354. }
  355. if(sDeptComnCntsList[i] != "" && sDeptComnCntsList[i] != null){
  356. comncntslist = sDeptComnCntsList[i].split("▦");
  357. for(var j=0; j<comncntslist.length; j++){
  358. if(comncntslist[j] != ""){
  359. if(comncnts != "") comncnts += "\n";
  360. comncnts += comncntslist[j];
  361. }
  362. }
  363. }
  364. if(comncnts != ""){
  365. if(rtnmsg != "") rtnmsg += "\n";
  366. rtnmsg += comncnts;
  367. }
  368. }
  369. opener.javascript.setParameter("comncnts", rtnmsg);
  370. }
  371. if(rtnmsg == ""){
  372. messageBox("상용구를","C002");
  373. opener.javascript.setParameter("comncnts", "");
  374. return;
  375. }
  376. window.close();
  377. }
  378. }
  379. /**
  380. * @desc : 상용구 등록
  381. * @
  382. * @param :
  383. * @return :
  384. * @---------------------------------------------------
  385. */
  386. function fAddComn(){
  387. var sParamMsg = "comnchosflag▦clsflag▦itemindxseq▦comnclspath▦formcd▦degnitemcd▦reqflag▦indxflag▩";
  388. var comnchosflag = model.getValue("/root/send/cond/caseflag"); //예문 ,상용구 case구분
  389. var sIndxFlag = model.getValue("/root/send/cond/indxflag");
  390. var setflag = model.getValue("/root/send/cond/setflag");
  391. var sIndxRow = sTREE_OBJ.row;
  392. if(sIndxRow < 1){
  393. messageBox("색인을 먼저","C002");
  394. return;
  395. }
  396. var itemindxseq = model.getValue(sTREE_PATH+"["+sIndxRow+"]/itemindxseq");
  397. if(itemindxseq == "" && sIndxFlag != ""){
  398. messageBox("색인을 먼저 저장해야","I006");
  399. return;
  400. }
  401. //상용구 예문 분리
  402. var grdObj;
  403. var ref;
  404. if(comnchosflag == "C"){ // 상용구
  405. grdObj = grd_comnlist;
  406. ref = "/root/main/list/comnlist";
  407. }else if(comnchosflag == "E"){ // 예문
  408. grdObj = grd_exmplist;
  409. ref = "/root/main/list/exmplist";
  410. }
  411. var rowPos = sTREE_OBJ.row;
  412. var degnitemnm = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemnm");
  413. var depth = model.getValue(sTREE_PATH+ "[" + rowPos + "]/depth");
  414. var indxnm = model.getValue(sTREE_PATH+ "[" + rowPos + "]/indxnm");
  415. var degnitemno = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemno");
  416. var formdegnseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/formdegnseq");
  417. var clsflag = model.getValue(sTREE_PATH+ "[" + rowPos + "]/clsflag");
  418. var srcformcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/srcformcd");
  419. var degnitemcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemcd");
  420. var itemindxseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/itemindxseq");
  421. var comnclspath = model.getValue(sTREE_PATH+ "[" + rowPos + "]/pathcd");
  422. if(srcformcd ==""){
  423. srcformcd = "-";
  424. }
  425. if(degnitemcd == ""){
  426. degnitemcd = "-";
  427. }
  428. if(itemindxseq != -100 && sIndxFlag == "D"){
  429. srcformcd = model.getValue("/root/send/cond/formcd");
  430. }
  431. sParamMsg += comnchosflag+"▦"
  432. + clsflag+"▦"
  433. + itemindxseq+"▦"
  434. + comnclspath+"▦"
  435. + srcformcd+"▦"
  436. + degnitemcd+"▦"
  437. + setflag+"▦"
  438. + sIndxFlag+"▩";
  439. setParameter("SPMRF02700_Param",sParamMsg);
  440. modal("SPMRF02700",1 ,500, 250);
  441. if(getParameter("saveyn") == "Y"){
  442. fReqComnIndx();
  443. }
  444. setParameter("saveyn","");
  445. setParameter("SPMRF02700_Param","");
  446. model.refresh();
  447. }
  448. /**
  449. * @desc : 상용구 저장
  450. * @
  451. * @param :
  452. * @return :
  453. * @---------------------------------------------------
  454. */
  455. /*
  456. function fSaveComn(){
  457. var comnchosflag = model.getValue("/root/send/cond/caseflag"); //예문 ,상용구 case구분
  458. //상용구 예문 분리
  459. var grdObj;
  460. var ref;
  461. if(comnchosflag == "C"){
  462. grdObj = grd_comnlist;
  463. ref = "/root/main/list/comnlist";
  464. }else if(comnchosflag == "E"){
  465. grdObj = grd_exmplist;
  466. ref = "/root/main/list/exmplist";
  467. }
  468. var curRow = grdObj.row - grdObj.fixedRows + 1;
  469. if(curRow < 0){
  470. return;
  471. }
  472. // 신규, 수정된 row있는지 확인
  473. var breakflag = false;
  474. for(var i = grdObj.fixedRows; i < grdObj.rows; i++){
  475. var rowstat = grdObj.rowStatus(i);
  476. if(rowstat != "0" ){
  477. breakflag = true;
  478. break;
  479. }
  480. } //end for
  481. if(!breakflag)
  482. return;
  483. model.makeValue("/root/send/savedata",grdObj.getUpdateData());
  484. submit("TXMRF04701");
  485. model.removeNodeset("/root/send/savedata");
  486. }
  487. */
  488. /**
  489. * @desc : 상용구 수정
  490. * @
  491. * @param :
  492. * @return :
  493. * @---------------------------------------------------
  494. */
  495. /*
  496. function fUpdtComn(){
  497. var comnchosflag = model.getValue("/root/send/cond/caseflag"); //예문 ,상용구 case구분
  498. //상용구 예문 분리
  499. var grdObj;
  500. var ref;
  501. if(comnchosflag == "C"){
  502. grdObj = grd_comnlist;
  503. ref = "/root/main/list/comnlist";
  504. }else if(comnchosflag == "E"){
  505. grdObj = grd_exmplist;
  506. ref = "/root/main/list/exmplist";
  507. }
  508. desCurRow = grdObj.row - grdObj.fixedRows + 1;
  509. if(desCurRow < 1){
  510. messageBox("수정할 행을 ","C002");
  511. return;
  512. }
  513. setParameter("reprnm", model.getValue(ref+"[" + desCurRow + "]/reprnm"));
  514. setParameter("comncnts",model.getValue(ref+"[" + desCurRow + "]/comncnts"));
  515. modal("SPMRF02700_상용구관리팝업",1 ,500, 250);
  516. var reprnm = getParameter("reprnm");
  517. var comncnts = getParameter("comncnts");
  518. if(comncnts == model.getValue(ref+"[" + desCurRow + "]/comncnts")){
  519. setParameter("reprnm","");
  520. setParameter("comncnts","");
  521. return;
  522. }
  523. grdObj.rowStatus(desCurRow) = 2;
  524. model.setValue(ref+"[" + desCurRow + "]/reprnm", reprnm);
  525. model.setValue(ref+"[" + desCurRow + "]/comncnts", comncnts);
  526. model.setValue(ref+"[" + desCurRow + "]/reqflag", model.getValue("/root/send/cond/setflag"));
  527. setParameter("reprnm","");
  528. setParameter("comncnts","");
  529. model.refresh();
  530. }
  531. */
  532. /**
  533. * @desc : 상용구 삭제
  534. * @
  535. * @param :
  536. * @return :
  537. * @---------------------------------------------------
  538. */
  539. function fDelComn(){
  540. var comnchosflag = model.getValue("/root/send/cond/caseflag"); //예문 ,상용구 case구분
  541. var iRowStatus = 0;
  542. //상용구 예문 분리
  543. var grdObj;
  544. var ref;
  545. if(comnchosflag == "C"){
  546. grdObj = grd_comnlist;
  547. ref = "/root/main/list/comnlist";
  548. }else if(comnchosflag == "E"){
  549. grdObj = grd_exmplist;
  550. ref = "/root/main/list/exmplist";
  551. }
  552. var curRow = grdObj.row - grdObj.fixedRows + 1;
  553. if(curRow < 0){
  554. messageBox("삭제할 행을 ","C002");
  555. return;
  556. }
  557. var rtn = messageBox("선택한 행을 ", "Q001");
  558. if (rtn == "6"){
  559. iRowStatus = grdObj.rowStatus(curRow);
  560. grdObj.rowStatus(curRow) = 4;
  561. model.setValue(ref+"[" + curRow + "]/reqflag", model.getValue("/root/send/cond/setflag"));
  562. model.makeValue("/root/send/savedata",grdObj.getUpdateData());
  563. submit("TXMRF04701");
  564. }
  565. }
  566. /**
  567. * @desc : 상용구 저장
  568. * @
  569. * @param :
  570. * @return :
  571. * @---------------------------------------------------
  572. */
  573. /*
  574. function fSaveComn(){
  575. var comnchosflag = model.getValue("/root/send/cond/caseflag"); //예문 ,상용구 case구분
  576. //상용구 예문 분리
  577. var grdObj;
  578. var ref;
  579. if(comnchosflag == "C"){
  580. grdObj = grd_comnlist;
  581. ref = "/root/main/list/comnlist";
  582. }else if(comnchosflag == "E"){
  583. grdObj = grd_exmplist;
  584. ref = "/root/main/list/exmplist";
  585. }var curRow = grdObj.row - grdObj.fixedRows + 1;
  586. if(curRow < 0){
  587. return;
  588. }
  589. // 신규, 수정된 row있는지 확인
  590. var breakflag = false;
  591. for(var i = grdObj.fixedRows; i < grdObj.rows; i++){
  592. var rowstat = grdObj.rowStatus(i);
  593. if(rowstat != "0" ){
  594. breakflag = true;
  595. break;
  596. }
  597. } //end for
  598. if(!breakflag)
  599. return;
  600. model.makeValue("/root/send/savedata",grdObj.getUpdateData());
  601. submit("TXMRF04701");
  602. model.removeNodeset("/root/send/savedata");
  603. }
  604. */
  605. /**
  606. * @desc : 상용구 신규 추가
  607. * @
  608. * @param :
  609. * @return :
  610. * @---------------------------------------------------
  611. */
  612. /*
  613. function fAddComnCnts(comnchosflag)
  614. {
  615. var grd = null;
  616. if(comnchosflag == "C")
  617. {
  618. grd = document.controls("grd_comnlist");
  619. }
  620. else if(comnchosflag == "E")
  621. {
  622. grd = document.controls("grd_exmplist");
  623. }
  624. var ref = grd.attribute("nodeset");
  625. var reprnm = "";
  626. var comncnts = opener.javascript.getParameter("comncnts");
  627. if(comncnts == "")
  628. return;
  629. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  630. var rowPos = item.index + 1;
  631. var degnitemnm = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemnm");
  632. var depth = model.getValue(sTREE_PATH+ "[" + rowPos + "]/depth");
  633. var indxnm = model.getValue(sTREE_PATH+ "[" + rowPos + "]/indxnm");
  634. var degnitemno = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemno");
  635. var formdegnseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/formdegnseq");
  636. grd.addRow(false);
  637. var desCurRow = grd.rows - grd.fixedRows;
  638. var setflag = model.getValue("/root/send/cond/setflag");
  639. // 개인 , 과 , 전체 구분
  640. if (setflag == "U") {
  641. model.setValue(ref+"[" + desCurRow + "]/userid", getUserId()); //
  642. model.setValue(ref+"[" + desCurRow + "]/deptcd", getUserInfo("dutplcecd")); //
  643. }else if (setflag == "D") {
  644. model.setValue(ref+"[" + desCurRow + "]/userid", "");
  645. model.setValue(ref+"[" + desCurRow + "]/deptcd", getUserInfo("dutplcecd")); //
  646. }
  647. var clsflag = model.getValue(sTREE_PATH+ "[" + rowPos + "]/clsflag");
  648. var srcformcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/srcformcd");
  649. var degnitemcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemcd");
  650. var itemindxseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/itemindxseq");
  651. var comnclspath = model.getValue(sTREE_PATH+ "[" + rowPos + "]/pathcd");
  652. if(srcformcd ==""){
  653. srcformcd = "-";
  654. }
  655. if(degnitemcd == ""){
  656. degnitemcd = "-";
  657. }
  658. if(itemindxseq == -100){ // 공통서식 인 경우
  659. model.setValue(ref+"[" + desCurRow + "]/formcd" ,srcformcd);
  660. model.setValue(ref+"[" + desCurRow + "]/itembasecd", degnitemcd.substr(0,7));
  661. }else{ //MY폴더 인 경우
  662. model.setValue(ref+"[" + desCurRow + "]/itemindxseq" ,itemindxseq);
  663. model.setValue(ref+"[" + desCurRow + "]/comnclspath" ,comnclspath);
  664. }
  665. model.setValue(ref+"[" + desCurRow + "]/clsflag", clsflag); // form 이면 F ,folder는 G
  666. model.setValue(ref+"[" + desCurRow + "]/comnchosflag", comnchosflag); //상용구C 예문E
  667. model.setValue(ref+"[" + desCurRow + "]/reqflag", setflag); //개인 과 전체 구분
  668. model.setValue(ref+"[" + desCurRow + "]/reprnm", reprnm); //대표명
  669. model.setValue(ref+"[" + desCurRow + "]/comncnts", comncnts); //내용
  670. setParameter("reprnm","");
  671. setParameter("comncnts","");
  672. grd.refresh();
  673. grd.row = desCurRow;
  674. grd.col = grd.colRef("reprnm");
  675. grd.editcell();
  676. }
  677. */
  678. /**
  679. * @desc : 팝업 메뉴 설정
  680. * @
  681. * @param :
  682. * @return :
  683. * @---------------------------------------------------
  684. */
  685. function fMouseRghtBtnPopup(){
  686. if(event.button == 3){
  687. if(model.getValue("/root/send/cond/indxflag") == "") return;
  688. if(sTREE_OBJ.isCell(event.target) && sTREE_OBJ.rows > -1) {
  689. window.setPopupMenu(true, "/root/temp/menu/menu", "label", "func", false);
  690. return;
  691. }else {
  692. window.setPopupMenu(false);
  693. }
  694. }
  695. }
  696. /**
  697. * @desc : 폴더수정
  698. * @
  699. * @param :
  700. * @return :
  701. * @---------------------------------------------------
  702. */
  703. function fUpdtComnSet(){
  704. sTREE_OBJ.editCell();
  705. }
  706. /**
  707. * @desc : 폴더 삭제
  708. * @
  709. * @param :
  710. * @return :
  711. * @---------------------------------------------------
  712. */
  713. function fDelComnSet(){
  714. var iRow = sTREE_OBJ.row;
  715. if(iRow < 1) return;
  716. var rowStatus = sTREE_OBJ.rowStatus(iRow);
  717. if( rowStatus == 1 || rowStatus == 3){
  718. sTREE_OBJ.deleteRow(iRow);
  719. }else{
  720. sTREE_OBJ.rowStatus(iRow) = 4;
  721. }
  722. }
  723. /**
  724. * @desc : 새폴더 추가
  725. * @
  726. * @param :
  727. * @return :
  728. * @---------------------------------------------------
  729. */
  730. function fAddComnSet(){
  731. var iRow = 0;
  732. var comnchosflag = model.getValue("/root/send/cond/caseflag");
  733. var sDepth = 2;
  734. var sSupItemIndxSeq = -1;
  735. var indxflag = model.getValue("/root/send/cond/indxflag");
  736. var sFormCD = model.getValue("/root/send/cond/formcd");
  737. var setflag = model.getValue("/root/send/cond/setflag");
  738. if(comnchosflag == "C"){
  739. model.removeNodeset(sComnList_Path);
  740. grd_comnlist.rebuild();
  741. }else if(comnchosflag == "E"){
  742. model.removeNodeset(sExmpList_Path);
  743. grd_exmplist.rebuild();
  744. }
  745. sTREE_OBJ.addRow();
  746. iRow = sTREE_OBJ.rows - sTREE_OBJ.fixedrows;
  747. model.setValue(sTREE_PATH+"["+iRow+"]/depth",sDepth);
  748. model.setValue(sTREE_PATH+"["+iRow+"]/linkflag","N"); // N : 폴더, Y : 데이터링크
  749. model.setValue(sTREE_PATH+"["+iRow+"]/supitemindxseq", sSupItemIndxSeq); // 상위색인코드
  750. model.setValue(sTREE_PATH+"["+iRow+"]/indxflag", indxflag); // 색인구분( A : Summary, B : 주호소, D : 제증명, E : 마취기록, F:의료협력)
  751. model.setValue(sTREE_PATH+"["+iRow+"]/deptcd", getUserInfo("dutplcecd")); // 부서코드
  752. if(setflag == "U"){
  753. model.setValue(sTREE_PATH+"["+iRow+"]/userid", getUserId()); // 사용자ID
  754. }
  755. model.setValue(sTREE_PATH+"["+iRow+"]/linkcd", sFormCD); // 연결데이타코드 (서식/파일코드)
  756. model.setValue(sTREE_PATH+"["+iRow+"]/comnseq", 0); // 연결데이타시퀀스 (상용구코드)
  757. model.setValue(sTREE_PATH+"["+iRow+"]/sortno", 1000); // 보기순서
  758. model.setValue(sTREE_PATH+"["+iRow+"]/valiyn", "Y"); // 유효여부
  759. model.setValue(sTREE_PATH+"["+iRow+"]/slipno", 0); // SLIP번호 (상용구)
  760. sTREE_OBJ.editCell();
  761. }
  762. /**
  763. * @desc : 색인 저장
  764. * @
  765. * @param :
  766. * @return :
  767. * @---------------------------------------------------
  768. */
  769. function fSaveIndx(){
  770. var sSaveFlag = false;
  771. var iStatus = 0;
  772. for(var iRow = sTREE_OBJ.fixedrows; iRow <= (sTREE_OBJ.rows-sTREE_OBJ.fixedrows); iRow++){
  773. if(model.getValue(sTREE_PATH+"["+iRow+"]/indxnm") == ""){
  774. messageBox("색인명은","I003");
  775. return;
  776. }
  777. iStatus = sTREE_OBJ.rowStatus(iRow);
  778. if(iStatus != 0){
  779. sSaveFlag = true;
  780. }
  781. }
  782. if(sSaveFlag == false){
  783. messageBox("저장할 데이터가","I004");
  784. return;
  785. }
  786. model.removenodeset("/root/send/savedata");
  787. model.makeValue("/root/send/savedata", sTREE_OBJ.getUpdateData());
  788. submit("TXMRF04702");
  789. model.refresh();
  790. }
  791. /**
  792. * @desc : 폴더 수정시
  793. * @
  794. * @param :
  795. * @return :
  796. * @---------------------------------------------------
  797. */
  798. function fChangedGridRow(){
  799. var iRow = sTREE_OBJ.row;
  800. var iStatus = sTREE_OBJ.rowStatus(iRow);
  801. var indxnm = model.getValue(sTREE_PATH+"["+iRow+"]/indxnm");
  802. var oldindxnm = model.getValue(sTREE_PATH+"["+iRow+"]/oldindxnm");
  803. if(indxnm == ""){
  804. model.setValue(sTREE_PATH+"["+iRow+"]/indxnm", oldindxnm);
  805. indxnm = oldindxnm;
  806. }
  807. if(iStatus != 1 && iStatus != 3){
  808. if(indxnm != oldindxnm){
  809. sTREE_OBJ.rowStatus(iRow) = 2;
  810. }else{
  811. sTREE_OBJ.rowStatus(iRow) = 0;
  812. }
  813. }
  814. }