SPMNW15300.xjs 26 KB

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