SPMNW15300.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766
  1. /*
  2. 정맥염관찰기록기준자료팝업List(SPMNW15300_정맥염관찰기록기준자료팝업.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xExecDetlListPath = "/root/main/detlgrup/getVO";
  7. // 초기화
  8. function fInitialize(){
  9. var flag = opener.javascript.getParameter("flag");
  10. var genrdd = opener.javascript.getParameter("genrdd");
  11. var stat = opener.javascript.getParameter("stat");
  12. fSearchClick("grd_userlist",genrdd);
  13. //발생장소기타
  14. var genrplceEtcStr = opener.javascript.getParameter("genrplceEtcStr");
  15. var genrplceEtcExist = opener.javascript.getParameter("genrplceEtcExist");
  16. //원인기타
  17. var causeEtcStr = opener.javascript.getParameter("causeEtcStr");
  18. var causeEtcExist = opener.javascript.getParameter("causeEtcExist");
  19. //중재기타
  20. var interventionEtcStr = opener.javascript.getParameter("interventionEtcStr");
  21. var interventionEtcExist = opener.javascript.getParameter("interventionEtcExist");
  22. model.removenode("/root/param");
  23. model.makeValue("/root/param/genrplceEtcStr", genrplceEtcStr);
  24. model.makeValue("/root/param/causeEtcStr", causeEtcStr);
  25. model.makeValue("/root/param/interventionEtcStr", interventionEtcStr);
  26. var cdValueGenrPlce = opener.window.javascript.getParameter("genrplcecdid");
  27. var cdValueCause = opener.window.javascript.getParameter("causecdid");
  28. var cdValueStage = opener.window.javascript.getParameter("stagecdid");
  29. var cdValueIntervention = opener.window.javascript.getParameter("interventioncdid");
  30. if(window.opener != null) {
  31. // 전체를 돌면서 그룹에 값이 체크되어 있는것 초기화
  32. if(cdValueGenrPlce != "") {
  33. isCheckData(cdValueGenrPlce, "00000001");
  34. }
  35. if(cdValueCause != "") {
  36. isCheckData(cdValueCause, "00000002");
  37. }
  38. if(cdValueStage != "") {
  39. isCheckData(cdValueStage, "00000003");
  40. }
  41. if(cdValueIntervention != "") {
  42. isCheckData(cdValueIntervention, "00000004");
  43. }
  44. var grupcd, sel, cd, cdnm, stageid;
  45. for(var i = 1; i < grd_userlist.rows; i++) {
  46. grupcd = grd_userlist.valueMatrix(i, grd_userlist.colRef("grupcd"));
  47. sel = grd_userlist.valueMatrix(i, grd_userlist.colRef("sel"));
  48. cd = grd_userlist.valueMatrix(i, grd_userlist.colRef("cd"));
  49. cdnm = grd_userlist.valueMatrix(i, grd_userlist.colRef("cdnm"));
  50. if(grupcd == "00000001" && genrplceEtcStr != "" && sel == "true" && cdnm == "기타") {
  51. grd_userlist.valueMatrix(i, grd_userlist.colRef("detlinfo")) = genrplceEtcStr;
  52. }
  53. if(grupcd == "00000002" && causeEtcStr != "" && sel == "true" && cdnm == "기타") {
  54. grd_userlist.valueMatrix(i, grd_userlist.colRef("detlinfo")) = causeEtcStr;
  55. }
  56. if(grupcd == "00000004" && interventionEtcStr != "" && sel == "true" && cdnm == "기타") {
  57. grd_userlist.valueMatrix(i, grd_userlist.colRef("detlinfo")) = interventionEtcStr;
  58. }
  59. if(grupcd == "00000001"){
  60. if(flag == "00") {
  61. if(stat != 'i'){
  62. grd_userlist.rowHidden (i) = true;
  63. }
  64. }else{
  65. grd_userlist.rowHidden (i) = true;
  66. }
  67. }
  68. if(grupcd == "00000002"){
  69. if(flag == "00") {
  70. if(stat != 'i'){
  71. grd_userlist.rowHidden (i) = true;
  72. }
  73. }else{
  74. grd_userlist.rowHidden (i) = true;
  75. }
  76. }
  77. }
  78. }
  79. model.refresh();
  80. }
  81. //전체를 돌면서 그룹에 값이 체크되어 있는것 초기화
  82. function isCheckData(cdValueAll, grupcd) {
  83. var cdid = cdValueAll.split(",");
  84. for(var ins = 0 ; ins <= cdid.length-1 ; ins++ ) {// 체크된 값 전체를 돈다.
  85. for(var i = 1 ; i < grd_userlist.rows; i++ ){// 전체를 돌면서 그룹에 값이 체크되어 있는것 초기화
  86. if(grupcd != grd_userlist.valueMatrix(i, grd_userlist.colRef("grupcd")) ) {
  87. continue;
  88. }
  89. if(model.getValue(xExecDetlListPath+"["+ i +"]/cd") == cdid[ins] ) {
  90. grd_userlist.textmatrix(i,1) = "true";
  91. }
  92. }
  93. }
  94. }
  95. // 정맥염관찰기록 기준자료 조회
  96. function fSearchClick(grid,genrdd){
  97. model.removeNodeset("/root/main/list/userlist");
  98. model.makeValue("/root/send/genrdd", genrdd);
  99. submit("TRMNW15204");
  100. }
  101. // 기타선택시 inputbox보여주기(선택한 셀이 '기타'일때 기타입력필드를 보여준다.)
  102. function fShowEtcInputArea(){
  103. var selected;
  104. var cd ;
  105. var grupcd;
  106. var show = false;
  107. var iRow = grd_userlist.row;
  108. selected = model.getValue('/root/main/detlgrup/getVO[' + iRow + ']/sel');
  109. cd = model.getValue('/root/main/detlgrup/getVO[' + iRow + ']/cd');
  110. cdnm = model.getValue('/root/main/detlgrup/getVO[' + iRow + ']/cdnm');
  111. grupcd = model.getValue('/root/main/detlgrup/getVO[' + iRow + ']/grupcd');
  112. if(selected == "true") {
  113. if(grupcd =="00000001" || grupcd =="00000003") { // 발생장소, 단계
  114. for(var i = 1; i < grd_userlist.rows; i++) {
  115. var grup = grd_userlist.valueMatrix(i, grd_userlist.colRef("grupcd"));
  116. if(grupcd == grup) {
  117. grd_userlist.valueMatrix(i, grd_userlist.colRef("sel")) = "";
  118. }
  119. }
  120. grd_userlist.valueMatrix(iRow, grd_userlist.colRef("sel")) = "true";
  121. }
  122. } else {
  123. grd_userlist.valueMatrix(iRow, grd_userlist.colRef("sel")) = "";
  124. }
  125. if(selected == 'true' && cdnm == '기타')
  126. show = true;
  127. if(show) {
  128. grd_userlist.isReadOnly(iRow, grd_userlist.colRef("detlinfo")) = false;
  129. } else {
  130. grd_userlist.isReadOnly(iRow, grd_userlist.colRef("detlinfo")) = true;
  131. }
  132. model.refresh();
  133. }
  134. // 정맥염관찰기록기준자료팝업 팝업 close
  135. function fPopClose(){
  136. var iRows = grd_userlist.rows;
  137. var cdnm = "" ;
  138. var cd = "" ;
  139. var checkcnt = 0 ;
  140. var grupcd;
  141. var genrplcenm = "";
  142. var genrplce = "";
  143. var genrplcecnt = 0;
  144. var causenm = "";
  145. var cause ="";
  146. var causecnt = 0;
  147. var stagenm = "";
  148. var stage ="";
  149. var stagecnt = 0;
  150. var interventionnm = "";
  151. var intervention ="";
  152. var interventioncnt = 0;
  153. var genrplcewardcd = "";
  154. // 전체를 돌면서 그룹에 값이 체크되어 있는것의 값을 임시 str에 저장
  155. for(var i = 1 ; i < grd_userlist.rows; i++ ) {
  156. grupcd = grd_userlist.valueMatrix(i, grd_userlist.colRef("grupcd"));
  157. if( model.getValue(xExecDetlListPath+"["+ i +"]/sel") == "true" ) {
  158. if(grupcd != "" && grupcd == "00000001") { //발생장소
  159. genrplcenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  160. genrplce += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  161. genrplcecnt++;
  162. if(model.getValue(xExecDetlListPath+"["+ i +"]/cd") != 1 ){
  163. genrplcewardcd = "";
  164. }
  165. } else if(grupcd != "" && grupcd == "00000002") { //원인
  166. causenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  167. cause += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  168. causecnt++;
  169. } else if(grupcd != "" && grupcd == "00000003") { //단계
  170. stagenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  171. stage += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  172. stagecnt++;
  173. } else if(grupcd != "" && grupcd == "00000004") { //중재
  174. interventionnm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  175. intervention += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  176. interventioncnt++;
  177. }
  178. }
  179. }
  180. fSetParentParam(genrplce, genrplcenm, genrplcecnt, "genrplce");
  181. fSetParentParam(cause, causenm, causecnt, "cause");
  182. fSetParentParam(stage, stagenm, stagecnt, "stage");
  183. fSetParentParam(intervention, interventionnm, interventioncnt, "intervention");
  184. window.close();
  185. }
  186. // 팝업창 닫기전 맨 마지막 컴마(,)를 제거, 기타인 값에 freetext의 내용을 추가
  187. function fSetParentParam(cd, cdnm, checkcnt, str) {
  188. //맨 마지막의 컴마(,)를 제거
  189. if( checkcnt <= 0 ) {
  190. cdnm = "" ;
  191. cd = "" ;
  192. } else {
  193. if(str != "dressing") {
  194. cdnm = cdnm.substr(0,cdnm.length-1) ;
  195. cd = cd.substr(0,cd.length-1);
  196. }
  197. }
  198. var etc = model.getValue('/root/param/' + str + 'EtcStr');
  199. //기타인 값에 freetext의 내용을 추가
  200. if(str != "dressing") {
  201. if(cdnm.indexOf('기타') > -1 && etc != ''){
  202. etc = '기타(' + etc + ')';
  203. cdnm = cdnm.substr(0, cdnm.indexOf('기타')) + etc;
  204. }
  205. }
  206. if( window.opener != null ){
  207. opener.javascript.setParameter(str +"cdnm", cdnm );
  208. opener.javascript.setParameter(str +"cd", cd);
  209. opener.javascript.setParameter(str +"cdid", cd);
  210. }
  211. }
  212. /*
  213. (SMMNW04701.xrw - JScript )
  214. - Version :
  215. 1) : Ver.1.00.01
  216. - Desc : 피부욕창 팝업이미지 에서 사용하는 스크립트
  217. */
  218. /***************************************************************************************************************************************************/
  219. /****************************************************** 팝업 이미지에서 사용하는 펑션 시작 ************************************************************/
  220. /***************************************************************************************************************************************************/
  221. /**
  222. * @group :
  223. * @ver : 2007.06.18
  224. * @by : 정찬성
  225. * @---------------------------------------------------
  226. * @type : function
  227. * @access : public
  228. * @desc : 신체부위 체크값 풀때
  229. * @param :
  230. * @return :
  231. * @---------------------------------------------------
  232. */
  233. function fbodyunselect(){
  234. var selectValue2 = model.getValue("/root/main/cond/anteriogrup/anteriogruplist/select") ;
  235. var selectValueEtc = model.getValue("/root/main/cond/anteriogrup/anteriogruplist/select2") ;
  236. // alert("selectValue2 : " + selectValue2);
  237. /* 신체 부위 선택 필수 체크 시작 */
  238. if(selectValue2 == "" || selectValue2 == null ){
  239. /* 확인버튼만 있는 화면 시작 */
  240. model.setValue("/root/main/cond/positiongrup/positiongruplist/part","");
  241. model.setValue("/root/main/cond/positiongrup/positiongruplist/leftright","");//부위 선택이 바꿀때 left/right 초기화
  242. model.setValue("/root/main/cond/positiongrup/positiongruplist/seqforback","");//부위 선택이 바꿀때 seqforback 초기화
  243. button1.selected = true;
  244. model.toggle("case5");
  245. /* 확인버튼만 있는 화면 끝 */
  246. return;
  247. }
  248. /* 신체 부위 선택 필수 체크 끝 */
  249. }
  250. /**
  251. * @group :
  252. * @ver : 2007.06.18
  253. * @by : 정찬성
  254. * @---------------------------------------------------
  255. * @type : function
  256. * @access : public
  257. * @desc : 그리드내에 버튼을 클릭했을때, 어떤 버튼인지 체크
  258. * @param :
  259. * @return :
  260. * @---------------------------------------------------
  261. */
  262. function fbodyselect(){
  263. var value = model.getValue("/root/main/cond/anteriogrup/anteriogruplist/select");
  264. var valueArray = value.split(" ");
  265. model.setValue("/root/main/cond/anteriogrup/anteriogruplist/select", valueArray[valueArray.length - 1]);
  266. group1.refresh();
  267. input1.disabled = 'true';
  268. var selectValue = model.getValue("/root/main/cond/anteriogrup/anteriogruplist/select") ;
  269. model.setValue("/root/main/cond/anteriogrup/anteriogruplist/select2",""); //기타 체크박스 초기화
  270. model.setValue("/root/main/cond/positiongrup/positiongruplist/part",selectValue);//부위 선택이 바꿀때 선택부위 셋팅
  271. model.setValue("/root/main/cond/positiongrup/positiongruplist/leftright","");//부위 선택이 바꿀때 left/right 초기화
  272. model.setValue("/root/main/cond/positiongrup/positiongruplist/seqforback","");//부위 선택이 바꿀때 seqforback 초기화
  273. model.refresh();
  274. if(
  275. selectValue == "(anterior)face"
  276. || selectValue == "(anterior)chin"
  277. || selectValue == "(anterior)neck"
  278. || selectValue == "(anterior)chest"
  279. || selectValue == "(anterior)abdomen" //!!!
  280. ){
  281. /* 확인버튼만 있는 화면 시작 */
  282. button1.selected = true;
  283. model.toggle("case5");
  284. /* 확인버튼만 있는 화면 끝 */
  285. } else if(
  286. selectValue == "(anterior)thigh"
  287. || selectValue == "(posterior)thigh"
  288. || selectValue == "(anterior)ear"
  289. || selectValue == "(anterior)shoulder"
  290. || selectValue == "(anterior)upper-arm"
  291. || selectValue == "(anterior)lower-arm"
  292. || selectValue == "(anterior)wrist"
  293. || selectValue == "(anterior)leg"
  294. || selectValue == "(anterior)ankle"
  295. || selectValue == "(anterior)inguinal"
  296. || selectValue == "(anterior)malleolus"
  297. || selectValue == "(anterior)knee"
  298. ) {
  299. /* 오른쪽/왼쪽 선택화면 시작 */
  300. button18.selected = true;
  301. model.toggle("case1");
  302. /* 오른쪽/왼쪽 선택화면 끝 */
  303. } else if(
  304. selectValue == "(anterior)finger"
  305. || selectValue == "(anterior)toe"
  306. ){
  307. /* 오른쪽/왼쪽 손/발가락 선택화면 시작 */
  308. button2.selected = true;
  309. model.toggle("case2");
  310. /* 오른쪽/왼쪽 손/발가락 선택화면 끝 */
  311. } else if(
  312. selectValue == "(anterior)hand"
  313. ){
  314. /* 오른쪽/왼쪽 손바닥/손등 선택화면 시작 */
  315. button3.selected = true;
  316. model.toggle("case3");
  317. /* 오른쪽/왼쪽 손바닥/손등 선택화면 끝 */
  318. } else if(
  319. selectValue == "(anterior)foot"
  320. ){
  321. /* 오른쪽/왼쪽 발바닥/발등 선택화면 시작 */
  322. button4.selected = true;
  323. model.toggle("case4");
  324. /* 오른쪽/왼쪽 발바닥/발등 선택화면 끝 */
  325. }
  326. model.refresh();
  327. }
  328. /**
  329. * @group :
  330. * @ver : 2007.06.18
  331. * 2008.06.04 dhkim 수정
  332. * @by : 정찬성
  333. * @---------------------------------------------------
  334. * @type : function
  335. * @access : public
  336. * @desc : 팝업창 Init
  337. * @param :
  338. * @return :
  339. * @---------------------------------------------------
  340. */
  341. function fPopinit(){
  342. button1.selected = true;
  343. model.toggle("case5");
  344. if( window.opener != null && opener.window.javascript.getParameter("partall") != "" ){
  345. var partall = opener.window.javascript.getParameter("partall");
  346. var valueArray = partall.split(",");
  347. model.setValue("/root/main/cond/anteriogrup/anteriogruplist/select",valueArray[0]);//신체부위 선택
  348. model.setValue("/root/main/cond/positiongrup/positiongruplist/part",valueArray[0]);//선택부위 명칭 등록
  349. model.setValue("/root/main/cond/positiongrup/positiongruplist/leftright",valueArray[1]);//leftrigth
  350. model.setValue("/root/main/cond/positiongrup/positiongruplist/seqforback",valueArray[2]);//마디/바닥/등 선택
  351. model.refresh();
  352. if(
  353. valueArray[0] == "(anterior)face"
  354. || valueArray[0] == "(anterior)chin"
  355. || valueArray[0] == "(anterior)neck"
  356. || valueArray[0] == "(anterior)chest"
  357. || valueArray[0] == "(anterior)abdomen"
  358. ){
  359. /* 확인버튼만 있는 화면 시작 */
  360. button1.selected = true;
  361. model.toggle("case5");
  362. /* 확인버튼만 있는 화면 끝 */
  363. } else if(
  364. valueArray[0] == "(anterior)thigh"
  365. || valueArray[0] == "(posterior)thigh"
  366. || valueArray[0] == "(anterior)ear"
  367. || valueArray[0] == "(anterior)shoulder"
  368. || valueArray[0] == "(anterior)upper-arm"
  369. || valueArray[0] == "(anterior)lower-arm"
  370. || valueArray[0] == "(anterior)wrist"
  371. || valueArray[0] == "(anterior)leg"
  372. || valueArray[0] == "(anterior)ankle"
  373. || valueArray[0] == "(anterior)malleolus"
  374. || valueArray[0] == "(anterior)knee"
  375. ) {
  376. /* 오른쪽/왼쪽 선택화면 시작 */
  377. button18.selected = true;
  378. model.toggle("case1");
  379. /* 오른쪽/왼쪽 선택화면 끝 */
  380. } else if(
  381. valueArray[0] == "(anterior)finger"
  382. || valueArray[0] == "(anterior)toe"
  383. ){
  384. /* 오른쪽/왼쪽 손/발가락 선택화면 시작 */
  385. button2.selected = true;
  386. model.toggle("case2");
  387. /* 오른쪽/왼쪽 손/발가락 선택화면 끝 */
  388. } else if(
  389. valueArray[0] == "(anterior)hand"
  390. ){
  391. /* 오른쪽/왼쪽 손바닥/손등 선택화면 시작 */
  392. button3.selected = true;
  393. model.toggle("case3");
  394. /* 오른쪽/왼쪽 손바닥/손등 선택화면 끝 */
  395. } else if(
  396. valueArray[0] == "(anterior)foot"
  397. ){
  398. /* 오른쪽/왼쪽 발바닥/발등 선택화면 시작 */
  399. button4.selected = true;
  400. model.toggle("case4");
  401. /* 오른쪽/왼쪽 발바닥/발등 선택화면 끝 */
  402. }
  403. } else if( window.opener != null && opener.window.javascript.getParameter("partall") == "" ) {
  404. button1.selected = true;
  405. model.toggle("case5");
  406. }
  407. //이미저장된 데이터이면 확인버튼을 hidden처리한다.
  408. var editable = opener.window.javascript.getParameter('editable');
  409. if(editable == 'f'){
  410. button1.attribute('visibility') = 'hidden';
  411. button2.attribute('visibility') = 'hidden';
  412. button3.attribute('visibility') = 'hidden';
  413. button4.attribute('visibility') = 'hidden';
  414. button18.attribute('visibility') = 'hidden';
  415. }else if(editable == 't'){
  416. button1.attribute('visibility') = 'visible';
  417. button2.attribute('visibility') = 'visible';
  418. button3.attribute('visibility') = 'visible';
  419. button4.attribute('visibility') = 'visible';
  420. button18.attribute('visibility') = 'visible';
  421. }
  422. //readonly상태일때 모든 checkbox를 disabled처리한다.
  423. if(editable == 'f')
  424. group1.disabled = true;
  425. else if(editable == 't')
  426. group1.disabled = false;
  427. }
  428. /**
  429. * @group :
  430. * @ver : 2007.06.18
  431. * : 2008.05.28 dhkim 수정
  432. * @by : 정찬성
  433. * @------------------------------------------------------------
  434. * @type : function
  435. * @access : public
  436. * @param :
  437. * @return :
  438. * @desc : 욕창 부위 선택 팝업창 확인버튼 누를때 호출 되는 펑션이다.
  439. * [case 종류] - 체크박스를 선택 할 때마다 아래 case별로 화면이 바뀜
  440. * case 1 : left, right만 선택
  441. * case 2 : left, right, 방향 선택(손가락, 발가락)
  442. * case 3 : left, right, 손등,손바닥 선택
  443. * case 4 : left, right, 발등, 발바닥 선택
  444. * case 5 : 확인버튼만 있음
  445. * @------------------------------------------------------------
  446. */
  447. function fPopImgClose(){
  448. var iRows = grd_userlist.rows;
  449. var cdnm = "" ;
  450. var cd = "" ;
  451. var checkcnt = 0 ;
  452. var grupcd;
  453. var genrplcenm = "";
  454. var genrplce = "";
  455. var genrplcecnt = 0;
  456. var causenm = "";
  457. var cause ="";
  458. var causecnt = 0;
  459. var stagenm = "";
  460. var stage ="";
  461. var stagecnt = 0;
  462. var interventionnm = "";
  463. var intervention ="";
  464. var interventioncnt = 0;
  465. var genrplcewardcd = "";
  466. var xAnterioGrupPath = '/root/main/cond/anteriogrup/anteriogruplist'; //발생 부위
  467. var xPositionGrupPath = '/root/main/cond/positiongrup/positiongruplist'; //발생 위치 (left, right, 손발등, 손발바닥, 손발가락)
  468. //선택한 체크박스 값
  469. var selectValue2 = model.getValue(xAnterioGrupPath + "/select") ;
  470. var part = model.getValue(xPositionGrupPath + "/part");
  471. var leftright = model.getValue(xPositionGrupPath + "/leftright");
  472. var seqforback = model.getValue(xPositionGrupPath + "/seqforback");
  473. var selectValueEtc = model.getValue(xAnterioGrupPath + "/select2") ;
  474. //선택 안했을때 리턴시킴
  475. if(selectValue2 == "" || selectValue2 == null ){
  476. if(selectValueEtc == "" || selectValueEtc == null) {
  477. messageBox("신체 부위를 ", "C002");
  478. model.setValue(xPositionGrupPath + "/leftright", "");
  479. model.setValue(xPositionGrupPath + "/seqforback","");
  480. button1.selected = true;
  481. model.toggle("case5");
  482. return;
  483. } else {
  484. model.setValue(xPositionGrupPath + "/leftright", "");
  485. model.setValue(xPositionGrupPath + "/seqforback","");
  486. }
  487. }
  488. //위치정보 필요없는 부위(검정색)
  489. if( part == "(anterior)face" || part == "(anterior)chin" || part == "(anterior)neck"
  490. || part == "(anterior)chest" || part == "(anterior)abdomen" ) {
  491. model.setValue(xPositionGrupPath + "/leftright", "");
  492. model.setValue(xPositionGrupPath + "/seqforback","");
  493. // 신체 부위 선택시 추가 선택부분 체크
  494. if(leftright != "" || seqforback != ""){
  495. messageBox("신체 부위 추가선택 항목은 ", "I001");
  496. return;
  497. }
  498. }
  499. //left, right 선택해야 하는 부위(초록색)
  500. else if( part == "(anterior)thigh" || part == "(posterior)thigh" || part == "(anterior)ear" || part == "(anterior)shoulder"
  501. || part == "(anterior)upper-arm" || part == "(anterior)lower-arm" || part == "(anterior)wrist" || part == "(anterior)leg"
  502. || part == "(anterior)ankle" || part == "(anterior)malleolus" || part == "(anterior)knee" ) {
  503. model.setValue(xPositionGrupPath + "/seqforback","");
  504. // 신체 부위 선택시 추가 선택부분 체크
  505. if(leftright == "" || leftright.length == 0 ){
  506. messageBox("Left/Right를 ", "C002");
  507. return;
  508. }
  509. }
  510. //left, right, 손발 번호 선택 (빨간색)
  511. else if(part == "(anterior)finger" || part == "(anterior)toe"){
  512. /* 신체 부위 선택시 추가 선택부분 체크 시작 */
  513. if(leftright == "" || leftright.length == 0 ){
  514. messageBox("Left/Right를 ", "C002");
  515. return;
  516. } else if ( seqforback == "" || seqforback.length == 0 ) {
  517. messageBox("손/발가락 번호를 ", "C002");
  518. return;
  519. }
  520. }
  521. //left, right, 손발바닥, 손발등 선택(빨간색)
  522. else if(part == "(anterior)hand" || part == "(anterior)foot"){
  523. /* 신체 부위 선택시 추가 선택부분 체크 시작 */
  524. if(leftright == "" || leftright.length == 0 ){
  525. messageBox("Left/Right를 ", "C002");
  526. return;
  527. } else if ( seqforback == "" || seqforback.length == 0 ) {
  528. messageBox("손/발바닥, 손/발등을 ", "C002");
  529. return;
  530. }
  531. }
  532. model.setValue(xPositionGrupPath + "/part", selectValue2);
  533. model.refresh();
  534. // 전체를 돌면서 그룹에 값이 체크되어 있는것의 값을 임시 str에 저장
  535. for(var i = 1 ; i < grd_userlist.rows; i++ ) {
  536. grupcd = grd_userlist.valueMatrix(i, grd_userlist.colRef("grupcd"));
  537. if( model.getValue(xExecDetlListPath+"["+ i +"]/sel") == "true" ) {
  538. if(grupcd != "" && grupcd == "00000001") { //발생장소
  539. genrplcenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  540. genrplce += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  541. genrplcecnt++;
  542. if(model.getValue(xExecDetlListPath+"["+ i +"]/cd") != 1 ){
  543. genrplcewardcd = "";
  544. }
  545. } else if(grupcd != "" && grupcd == "00000002") { //원인
  546. causenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  547. cause += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  548. causecnt++;
  549. } else if(grupcd != "" && grupcd == "00000003") { //단계
  550. stagenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  551. stage += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  552. stagecnt++;
  553. } else if(grupcd != "" && grupcd == "00000004") { //중재
  554. interventionnm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  555. intervention += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  556. interventioncnt++;
  557. }
  558. }
  559. }
  560. if( window.opener != null ){
  561. var retStr = part;
  562. if(leftright != null && leftright != ''){
  563. // retStr += ',' + leftright;
  564. retStr += leftright;
  565. }
  566. if(seqforback != null && seqforback != ''){
  567. // retStr += ',' + seqforback;
  568. retStr += seqforback;
  569. }
  570. opener.javascript.setParameter("part", part);
  571. opener.javascript.setParameter("leftright", leftright);
  572. opener.javascript.setParameter("seqforback",seqforback);
  573. opener.javascript.setParameter("caseno", switch1.selectedIndex);
  574. opener.javascript.setParameter('retStr', retStr);
  575. fSetParentParam(genrplce, genrplcenm, genrplcecnt, "genrplce");
  576. fSetParentParam(cause, causenm, causecnt, "cause");
  577. fSetParentParam(stage, stagenm, stagecnt, "stage");
  578. fSetParentParam(intervention, interventionnm, interventioncnt, "intervention");
  579. window.close();
  580. }
  581. }
  582. /***************************************************************************************************************************************************/
  583. /****************************************************** 팝업 이미지에서 사용하는 펑션 끝 ************************************************************/
  584. /***************************************************************************************************************************************************/