no message

main
이범준 4 months ago
parent f692265c13
commit 1c8fbf74fd

File diff suppressed because one or more lines are too long

@ -0,0 +1,336 @@
@charset "UTF-8";
/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
/* COMMON */
body, #smart_editor2, #smart_editor2 p, #smart_editor2 h1, #smart_editor2 h2, #smart_editor2 h3, #smart_editor2 h4, #smart_editor2 h5, #smart_editor2 h6, #smart_editor2 ul, #smart_editor2 ol, #smart_editor2 li, #smart_editor2 dl, #smart_editor2 dt, #smart_editor2 dd, #smart_editor2 table, #smart_editor2 th, #smart_editor2 td, #smart_editor2 form, #smart_editor2 fieldset, #smart_editor2 legend, #smart_editor2 input, #smart_editor2 textarea, #smart_editor2 button, #smart_editor2 select { margin: 0; padding: 0; }
body, #smart_editor2, #smart_editor2 h1, #smart_editor2 h2, #smart_editor2 h3, #smart_editor2 h4, #smart_editor2 h5, #smart_editor2 h6, #smart_editor2 input, #smart_editor2 textarea, #smart_editor2 select, #smart_editor2 table, #smart_editor2 button { font-family: '돋움',Dotum,Helvetica,sans-serif; font-size: 12px; color: #666; }
#smart_editor2 span, #smart_editor2 em { font-size: 12px; }
#smart_editor2 em, #smart_editor2 address { font-style: normal; }
#smart_editor2 img, #smart_editor2 fieldset { border: 0; }
#smart_editor2 hr { display: none; }
#smart_editor2 ol, #smart_editor2 ul { list-style: none; }
#smart_editor2 button { border: 0; background: none; font-size: 11px; vertical-align: top; cursor: pointer; }
#smart_editor2 button span, #smart_editor2 button em { visibility: hidden; overflow: hidden; position: absolute; top: 0; font-size: 0; line-height: 0; }
#smart_editor2 legend, #smart_editor2 .blind { visibility: hidden; overflow: hidden; position: absolute; width: 0; height: 0; font-size: 0; line-height: 0; }
#smart_editor2 .input_ty1 { height: 14px; margin: 0; padding: 4px 2px 0 4px; border: 1px solid #c7c7c7; font-size: 11px; color: #666; }
#smart_editor2 a:link, #smart_editor2 a:visited, #smart_editor2 a:active, #smart_editor2 a:focus { color: #666; text-decoration: none; }
#smart_editor2 a:hover { color: #666; text-decoration: underline; }
/* LAYOUT */
#smart_editor2 .se2_header { margin: 10px 0 29px 0; }
#smart_editor2 .se2_bi { float: left; width: 93px; height: 20px; margin: 0; padding: 0; background: url("../img/ko_KR/btn_set.png?130306") -343px -358px no-repeat; font-size: 0; line-height: 0; text-indent: -10000px; vertical-align: middle; }
#smart_editor2 .se2_allhelp { display: inline-block; width: 18px; height: 18px; padding: 0; background: url("../img/ko_KR/btn_set.png?130306") -437px -358px no-repeat; font-size: 0; line-height: 0; text-indent: -10000px; vertical-align: middle; }
#smart_editor2 #smart_editor2_content { border: 1px solid #b5b5b5; }
#smart_editor2 .se2_tool { overflow: visible; position: relative; z-index: 25; }
/* EDITINGAREA */
#smart_editor2 .se2_input_area { position: relative; z-index: 22; height: 400px; margin: 0; padding: 0; *zoom: 1; }
#smart_editor2 .se2_input_wysiwyg, #smart_editor2 .se2_input_syntax { display: block; overflow: auto; width: 100%; height: 100%; margin: 0; *margin: -1px 0 0 0; border: 0; }
/* EDITINGMODE */
#smart_editor2 .se2_conversion_mode { position: relative; height: 15px; padding-top: 1px; border-top: 1px solid #b5b5b5; background: url("../img/icon_set.gif") 0 -896px repeat-x; }
#smart_editor2 .se2_inputarea_controller { display: block; clear: both; position: relative; width: 100%; height: 15px; text-align: center; cursor: n-resize; }
#smart_editor2 .se2_inputarea_controller span, #smart_editor2 .controller_on span { background: url("../img/ico_extend.png") no-repeat; }
#smart_editor2 .se2_inputarea_controller span { position: static; display: inline-block; visibility: visible; overflow: hidden; height: 15px; padding-left: 11px; background-position: 0 2px; color: #888; font-size: 11px; letter-spacing: -1px; line-height: 16px; white-space: nowrap; }
* + html #smart_editor2 .se2_inputarea_controller span { line-height: 14px; }
#smart_editor2 .controller_on span { background-position: 0 -21px; color: #249c04; }
#smart_editor2 .ly_controller { display: block; position: absolute; bottom: 2px; left: 50%; width: 287px; margin-left: -148px; padding: 8px 0 7px 9px; border: 1px solid #827f7c; background: #fffdef; }
#smart_editor2 .ly_controller p { color: #666; font-size: 11px; letter-spacing: -1px; line-height: 11px; }
#smart_editor2 .ly_controller .bt_clse, #smart_editor2 .ly_controller .ic_arr { position: absolute; background: url("../img/ico_extend.png") no-repeat; }
#smart_editor2 .ly_controller .bt_clse { top: 5px; right: 4px; width: 14px; height: 15px; background-position: 1px -43px; }
#smart_editor2 .ly_controller .ic_arr { top: 25px; left: 50%; width: 10px; height: 6px; margin-left: -5px; background-position: 0 -65px; }
#smart_editor2 .se2_converter { float: left; position: absolute; top: -1px; right: 3px; z-index: 20; }
#smart_editor2 .se2_converter li { float: left; }
#smart_editor2 .se2_converter .se2_to_editor { width: 59px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") 0 -85px no-repeat; vertical-align: top; }
#smart_editor2 .se2_converter .se2_to_html { width: 59px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") -59px -70px no-repeat; vertical-align: top; }
#smart_editor2 .se2_converter .se2_to_text { width: 60px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") -417px -466px no-repeat; vertical-align: top; }
#smart_editor2 .se2_converter .active .se2_to_editor { width: 59px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") 0 -70px no-repeat; vertical-align: top; }
#smart_editor2 .se2_converter .active .se2_to_html { width: 59px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") -59px -85px no-repeat; vertical-align: top; }
#smart_editor2 .se2_converter .active .se2_to_text { width: 60px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") -417px -481px no-repeat; vertical-align: top; }
/* EDITINGAREA_HTMLSRC */
#smart_editor2 .off .ico_btn, #smart_editor2 .off .se2_more, #smart_editor2 .off .se2_more2, #smart_editor2 .off .se2_font_family, #smart_editor2 .off .se2_font_size, #smart_editor2 .off .se2_bold, #smart_editor2 .off .se2_underline, #smart_editor2 .off .se2_italic, #smart_editor2 .off .se2_tdel, #smart_editor2 .off .se2_fcolor, #smart_editor2 .off .se2_fcolor_more, #smart_editor2 .off .se2_bgcolor, #smart_editor2 .off .se2_bgcolor_more, #smart_editor2 .off .se2_left, #smart_editor2 .off .se2_center, #smart_editor2 .off .se2_right, #smart_editor2 .off .se2_justify, #smart_editor2 .off .se2_ol, #smart_editor2 .off .se2_ul, #smart_editor2 .off .se2_indent, #smart_editor2 .off .se2_outdent, #smart_editor2 .off .se2_lineheight, #smart_editor2 .off .se2_del_style, #smart_editor2 .off .se2_blockquote, #smart_editor2 .off .se2_summary, #smart_editor2 .off .se2_footnote, #smart_editor2 .off .se2_url, #smart_editor2 .off .se2_emoticon, #smart_editor2 .off .se2_character, #smart_editor2 .off .se2_table, #smart_editor2 .off .se2_find, #smart_editor2 .off .se2_spelling, #smart_editor2 .off .se2_sup, #smart_editor2 .off .se2_sub, #smart_editor2 .off .se2_text_tool_more, #smart_editor2 .off .se2_new, #smart_editor2 .off .selected_color { -ms-filter: alpha(opacity=50); opacity: .5; cursor: default; filter: alpha(opacity=50); }
/* LAYER */
#smart_editor2 .se2_text_tool .se2_layer { display: none; float: left; position: absolute; top: 20px; left: 0; z-index: 50; margin: 0; padding: 0; border: 1px solid #bcbbbb; background: #fafafa; }
#smart_editor2 .se2_text_tool li.active { z-index: 50; }
#smart_editor2 .se2_text_tool .active .se2_layer { display: block; }
#smart_editor2 .se2_text_tool .active li .se2_layer { display: none; }
#smart_editor2 .se2_text_tool .active .active .se2_layer { display: block; }
#smart_editor2 .se2_text_tool .se2_layer .se2_in_layer { float: left; margin: 0; padding: 0; border: 1px solid #fff; background: #fafafa; }
/* TEXT_TOOLBAR */
#smart_editor2 .se2_text_tool { position: relative; clear: both; z-index: 30; padding: 4px 0 4px 3px; background: #f4f4f4 url("../img/bg_text_tool.gif") 0 0 repeat-x; border-bottom: 1px solid #b5b5b5; *zoom: 1; }
#smart_editor2 .se2_text_tool:after { content: ""; display: block; clear: both; }
#smart_editor2 .se2_text_tool ul { float: left; display: inline; margin-right: 3px; padding-left: 1px; white-space: nowrap; }
#smart_editor2 .se2_text_tool li { _display: inline; float: left; position: relative; z-index: 30; }
#smart_editor2 .se2_text_tool button, #smart_editor2 .se2_multy .se2_icon { width: 21px; height: 21px; background: url("../img/ko_KR/text_tool_set.png") no-repeat; vertical-align: top; }
#smart_editor2 .se2_text_tool .se2_font_type { position: relative; }
#smart_editor2 .se2_text_tool .se2_font_type li { margin-left: 3px; }
#smart_editor2 .se2_text_tool .se2_font_type button { text-align: left; }
#smart_editor2 .se2_text_tool .se2_font_type button.se2_font_family span, #smart_editor2 .se2_text_tool .se2_font_type button.se2_font_size span { display: inline-block; visibility: visible; position: static; width: 52px; height: 20px; padding: 0 0 0 6px; font-size: 12px; line-height: 20px; *line-height: 22px; color: #333; *zoom: 1; }
#smart_editor2 .se2_text_tool .se2_multy { position: absolute; top: 0; right: 0; padding-left: 0; margin-right: 0; white-space: nowrap; border-left: 1px solid #e0dedf; }
#smart_editor2 .se2_text_tool .se2_multy .se2_mn { float: left; white-space: nowrap; }
#smart_editor2 .se2_text_tool .se2_multy button { background-image: none; width: 47px; }
#smart_editor2 .se2_text_tool .se2_multy .se2_icon { display: inline-block; visibility: visible; overflow: visible; position: static; width: 16px; height: 29px; margin: -1px 2px 0 -1px; background-position: 0 -132px; line-height: 30px; vertical-align: top; }
#smart_editor2 .se2_text_tool .se2_multy button, #smart_editor2 .se2_text_tool .se2_multy button span { height: 29px; line-height: 29px; }
#smart_editor2 .se2_text_tool .se2_map .se2_icon { background-position: -29px -132px; }
#smart_editor2 .se2_text_tool button span.se2_mntxt { display: inline-block; visibility: visible; overflow: visible; _overflow-y: hidden; position: relative; *margin-right: -1px; width: auto; height: 29px; font-weight: normal; font-size: 11px; line-height: 30px; *line-height: 29px; _line-height: 30px; color: #444; letter-spacing: -1px; vertical-align: top; }
#smart_editor2 .se2_text_tool .se2_multy .se2_photo { margin-right: 1px; }
#smart_editor2 .se2_text_tool .se2_multy .hover .ico_btn { background: #e8e8e8; }
#smart_editor2 .se2_text_tool .se2_multy .se2_mn.hover { background: #e0dedf; }
/* TEXT_TOOLBAR : ROUNDING */
#smart_editor2 ul li.first_child button span.tool_bg, #smart_editor2 ul li.last_child button span.tool_bg, #smart_editor2 ul li.single_child button span.tool_bg { visibility: visible; height: 21px; }
#smart_editor2 ul li.first_child button span.tool_bg { left: -1px; width: 3px; background: url("../img/bg_button_left.gif?20121228") no-repeat; }
#smart_editor2 ul li.last_child button span.tool_bg { right: 0px; _right: -1px; width: 2px; background: url("../img/bg_button_right.gif") no-repeat; }
#smart_editor2 ul li.single_child { padding-right: 1px; }
#smart_editor2 ul li.single_child button span.tool_bg { left: 0; background: url("../img/bg_button.gif?20121228") no-repeat; width: 22px; }
#smart_editor2 div.se2_text_tool ul li.hover button span.tool_bg { background-position: 0 -21px; }
#smart_editor2 div.se2_text_tool ul li.active button span.tool_bg, #smart_editor2 div.se2_text_tool ul li.active li.active button span.tool_bg { background-position: 0 -42px; }
#smart_editor2 div.se2_text_tool ul li.active li button span.tool_bg { background-position: 0 0; }
/* TEXT_TOOLBAR : SUB_MENU */
#smart_editor2 .se2_sub_text_tool { display: none; position: absolute; top: 20px; left: 0; z-index: 40; width: auto; height: 29px; padding: 0 4px 0 0; border: 1px solid #b5b5b5; border-top: 1px solid #9a9a9a; background: #f4f4f4; }
#smart_editor2 .active .se2_sub_text_tool { display: block; }
#smart_editor2 .se2_sub_text_tool ul { float: left; height: 25px; margin: 0; padding: 4px 0 0 4px; }
/* TEXT_TOOLBAR : SUB_MENU_SIZE */
#smart_editor2 .se2_sub_step1 { width: 88px; }
#smart_editor2 .se2_sub_step2 { width: 199px; }
#smart_editor2 .se2_sub_step2_1 { width: 178px; }
/* TEXT_TOOLBAR : BUTTON */
#smart_editor2 .se2_text_tool .se2_font_family { width: 70px; height: 21px; background-position: 0 -10px; }
#smart_editor2 .se2_text_tool .hover .se2_font_family { background-position: 0 -72px; }
#smart_editor2 .se2_text_tool .active .se2_font_family { background-position: 0 -103px; }
#smart_editor2 .se2_text_tool .se2_font_size { width: 45px; height: 21px; background-position: -70px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_font_size { background-position: -70px -72px; }
#smart_editor2 .se2_text_tool .active .se2_font_size { background-position: -70px -103px; }
#smart_editor2 .se2_text_tool .se2_bold { background-position: -115px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_bold { background-position: -115px -72px; }
#smart_editor2 .se2_text_tool .active .se2_bold { background-position: -115px -103px; }
#smart_editor2 .se2_text_tool .se2_underline { background-position: -136px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_underline { background-position: -136px -72px; }
#smart_editor2 .se2_text_tool .active .se2_underline { background-position: -136px -103px; }
#smart_editor2 .se2_text_tool .se2_italic { background-position: -157px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_italic { background-position: -157px -72px; }
#smart_editor2 .se2_text_tool .active .se2_italic { background-position: -157px -103px; }
#smart_editor2 .se2_text_tool .se2_tdel { background-position: -178px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_tdel { background-position: -178px -72px; }
#smart_editor2 .se2_text_tool .active .se2_tdel { background-position: -178px -103px; }
#smart_editor2 .se2_text_tool .se2_fcolor { position: relative; background-position: -199px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_fcolor { background-position: -199px -72px; }
#smart_editor2 .se2_text_tool .active .se2_fcolor { background-position: -199px -103px; }
#smart_editor2 .se2_text_tool .se2_fcolor_more { background-position: -220px -10px; width: 10px; }
#smart_editor2 .se2_text_tool .hover .se2_fcolor_more { background-position: -220px -72px; }
#smart_editor2 .se2_text_tool .active .se2_fcolor_more { background-position: -220px -103px; }
#smart_editor2 .se2_text_tool .selected_color { position: absolute; top: 14px; left: 5px; width: 11px; height: 3px; font-size: 0; }
#smart_editor2 .se2_text_tool .se2_ol, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_ol { background-position: -345px -10px; }
#smart_editor2 .se2_text_tool .se2_ul, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_ul { background-position: -366px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_ol, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_ol { background-position: -345px -72px; }
#smart_editor2 .se2_text_tool .hover .se2_ul, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_ul { background-position: -366px -72px; }
#smart_editor2 .se2_text_tool .active .se2_ol, #smart_editor2 .se2_text_tool .active .active .se2_ol { background-position: -345px -103px; }
#smart_editor2 .se2_text_tool .active .se2_ul, #smart_editor2 .se2_text_tool .active .active .se2_ul { background-position: -366px -103px; }
#smart_editor2 .se2_text_tool .se2_indent, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_indent { background-position: -408px -10px; }
#smart_editor2 .se2_text_tool .se2_outdent, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_outdent { background-position: -387px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_indent, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_indent { background-position: -408px -72px; }
#smart_editor2 .se2_text_tool .hover .se2_outdent, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_outdent { background-position: -387px -72px; }
#smart_editor2 .se2_text_tool .active .se2_indent, #smart_editor2 .se2_text_tool .active .active .se2_indent { background-position: -408px -103px; }
#smart_editor2 .se2_text_tool .active .se2_outdent, #smart_editor2 .se2_text_tool .active .active .se2_outdent { background-position: -387px -103px; }
#smart_editor2 .se2_text_tool .se2_lineheight { background-position: -429px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_lineheight { background-position: -429px -72px; }
#smart_editor2 .se2_text_tool .active .se2_lineheight { background-position: -429px -103px; }
#smart_editor2 .se2_text_tool .se2_url { background-position: -513px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_url { background-position: -513px -72px; }
#smart_editor2 .se2_text_tool .active .se2_url { background-position: -513px -103px; }
#smart_editor2 .se2_text_tool .se2_bgcolor { position: relative; background-position: -230px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_bgcolor { background-position: -230px -72px; }
#smart_editor2 .se2_text_tool .active .se2_bgcolor { background-position: -230px -103px; }
#smart_editor2 .se2_text_tool .se2_bgcolor_more { background-position: -251px -10px; width: 10px; }
#smart_editor2 .se2_text_tool .hover .se2_bgcolor_more { background-position: -251px -72px; }
#smart_editor2 .se2_text_tool .active .se2_bgcolor_more { background-position: -251px -103px; }
#smart_editor2 .se2_text_tool .se2_left { background-position: -261px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_left { background-position: -261px -72px; }
#smart_editor2 .se2_text_tool .active .se2_left { background-position: -261px -103px; }
#smart_editor2 .se2_text_tool .se2_center { background-position: -282px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_center { background-position: -282px -72px; }
#smart_editor2 .se2_text_tool .active .se2_center { background-position: -282px -103px; }
#smart_editor2 .se2_text_tool .se2_right { background-position: -303px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_right { background-position: -303px -72px; }
#smart_editor2 .se2_text_tool .active .se2_right { background-position: -303px -103px; }
#smart_editor2 .se2_text_tool .se2_justify { background-position: -324px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_justify { background-position: -324px -72px; }
#smart_editor2 .se2_text_tool .active .se2_justify { background-position: -324px -103px; }
#smart_editor2 .se2_text_tool .se2_blockquote { background-position: -471px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_blockquote { background-position: -471px -72px; }
#smart_editor2 .se2_text_tool .active .se2_blockquote { background-position: -471px -103px; }
#smart_editor2 .se2_text_tool .se2_character { background-position: -555px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_character { background-position: -555px -72px; }
#smart_editor2 .se2_text_tool .active .se2_character { background-position: -555px -103px; }
#smart_editor2 .se2_text_tool .se2_table { background-position: -576px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_table { background-position: -576px -72px; }
#smart_editor2 .se2_text_tool .active .se2_table { background-position: -576px -103px; }
#smart_editor2 .se2_text_tool .se2_find { background-position: -597px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_find { background-position: -597px -72px; }
#smart_editor2 .se2_text_tool .active .se2_find { background-position: -597px -103px; }
#smart_editor2 .se2_text_tool .se2_sup { background-position: -660px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_sup { background-position: -660px -72px; }
#smart_editor2 .se2_text_tool .active .se2_sup { background-position: -660px -103px; }
#smart_editor2 .se2_text_tool .se2_sub { background-position: -681px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_sub { background-position: -681px -72px; }
#smart_editor2 .se2_text_tool .active .se2_sub { background-position: -681px -103px; }
#smart_editor2 .se2_text_tool .se2_text_tool_more { background-position: 0 -41px; width: 13px; }
#smart_editor2 .se2_text_tool .se2_text_tool_more span.tool_bg { background: none; }
#smart_editor2 .se2_text_tool .hover .se2_text_tool_more { background-position: -13px -41px; }
#smart_editor2 .se2_text_tool .active .se2_text_tool_more { background-position: -26px -41px; }

@ -0,0 +1,34 @@
@charset "UTF-8";
/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
/* COMMON */
body, .se2_inputarea { margin: 0; padding: 0; font-family: '돋움',Dotum,Helvetica,Sans-serif; font-size: 12px; line-height: 1.5; }
/* body,.se2_inputarea,.se2_inputarea th,.se2_inputarea td{margin:0;padding:0;font-family:'돋움',Dotum,Helvetica,Sans-serif;font-size:12px;line-height:1.5;color:#666} */
.se2_inputarea p, .se2_inputarea br { margin: 0; padding: 0; }
.se2_inputarea { margin: 15px; word-wrap: break-word; *word-wrap: normal; *word-break: break-all; }
.se2_inputarea_890 { width: 741px; margin: 20px 0 10px 64px; }
.se2_inputarea_698 { width: 548px; margin: 20px 0 10px 64px; }
/* TEXT_TOOLBAR : QUOTE */
.se2_quote1 { margin: 0 0 30px 20px; padding: 0 8px; border-left: 2px solid #ccc; color: #888; }
.se2_quote2 { margin: 0 0 30px 13px; padding: 0 8px 0 16px; background: url("../img/bg_quote2.gif") 0 3px no-repeat; color: #888; }
.se2_quote3 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px dashed #ccc; color: #888; }
.se2_quote4 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px dashed #66b246; color: #888; }
.se2_quote5 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px dashed #ccc; background: #fafafa; color: #888; }
.se2_quote6 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px solid #e5e5e5; color: #888; }
.se2_quote7 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px solid #66b246; color: #888; }
.se2_quote8 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px solid #e5e5e5; background: #fafafa; color: #888; }
.se2_quote9 { margin: 0 0 30px; padding: 12px 10px 11px; border: 2px solid #e5e5e5; color: #888; }
.se2_quote10 { margin: 0 0 30px; padding: 12px 10px 11px; border: 2px solid #e5e5e5; background: #fafafa; color: #888; }

@ -0,0 +1,894 @@
@charset "UTF-8";
/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
/* TEXT_TOOLBAR : FONTNAME */
#smart_editor2 .se2_tool .se2_l_font_fam { width: 202px; margin: 0; padding: 0; }
#smart_editor2 .se2_tool .se2_l_font_fam li { display: block; width: 202px; height: 21px; margin: 0; padding: 0; color: #333; cursor: pointer; }
#smart_editor2 .se2_l_font_fam .hover, #smart_editor2 .se2_l_font_fam .active { background: #ebebeb; }
#smart_editor2 .se2_l_font_fam button { width: 200px; height: 21px; margin: 0; padding: 2px 0 2px 0px; background: none; text-align: left; }
#smart_editor2 .se2_l_font_fam button span { display: block; visibility: visible; overflow: visible; position: relative; top: auto; left: auto; width: auto; height: auto; margin: 0 0 0 4px; padding: 0; font-size: 12px; line-height: normal; color: #333; }
#smart_editor2 .se2_l_font_fam button span span { display: inline; visibility: visible; overflow: visible; width: auto; height: auto; margin: 0 0 0 4px; font-family: Verdana; font-size: 12px; line-height: 14px; color: #888; }
#smart_editor2 .se2_l_font_fam button span em { visibility: visible; overflow: auto; position: static; width: auto; height: auto; margin-right: -4px; font-size: 12px; color: #888; }
#smart_editor2 .se2_l_font_fam .se2_division { width: 162px; height: 2px !important; margin: 1px 0 1px 0px; border: 0; background: url("../img/bg_line1.gif") 0 0 repeat-x; font-size: 0; cursor: default; }
/* TEXT_TOOLBAR : FONTSIZE */
#smart_editor2 .se2_tool .se2_l_font_size { width: 302px; margin: 0; padding: 0; }
#smart_editor2 .se2_tool .se2_l_font_size li { width: 302px; margin: 0; padding: 0; color: #333; cursor: pointer; }
#smart_editor2 .se2_l_font_size .hover, #smart_editor2 .se2_l_font_size .active { background: #ebebeb; }
#smart_editor2 .se2_l_font_size button { width: 300px; margin: 0; padding: 2px 0 1px 0px; *padding: 4px 0 1px 0px; background: none; text-align: left; }
#smart_editor2 .se2_l_font_size button span { display: block; visibility: visible; overflow: visible; position: relative; top: auto; left: auto; width: auto; height: auto; margin: 0 0 0 4px; padding: 0; line-height: normal; color: #373737; letter-spacing: 0px; }
#smart_editor2 .se2_l_font_size button span span { display: inline; margin: 0 0 0 5px; padding: 0; }
#smart_editor2 .se2_l_font_size span em { visibility: visible; overflow: auto; position: static; width: auto; height: auto; color: #888; }
/* TEXT_TOOLBAR : FONTCOLOR */
#smart_editor2 .se2_palette { float: left; position: relative; width: 225px; margin: 0; padding: 11px 0 10px 0; }
#smart_editor2 .se2_palette .se2_pick_color { _display: inline; float: left; clear: both; width: 205px; margin: 0 0 0 11px; padding: 0; }
#smart_editor2 .se2_palette .se2_pick_color li { float: left; width: 12px; height: 12px; margin: 0; padding: 0; }
#smart_editor2 .se2_palette .se2_pick_color li button { width: 11px; height: 11px; border: 0; }
#smart_editor2 .se2_palette .se2_pick_color li button span { display: block; visibility: visible; overflow: visible; position: absolute; top: 1px; left: 1px; width: 11px; height: 11px; }
#smart_editor2 .se2_palette .se2_pick_color li button span span { visibility: hidden; overflow: hidden; position: absolute; top: 0; left: 0; width: 0; height: 0; }
#smart_editor2 .se2_palette .se2_pick_color .hover button, #smart_editor2 .se2_palette .se2_pick_color .active button { width: 11px; height: 11px; border: 1px solid #666; }
#smart_editor2 .se2_palette .se2_pick_color .hover span, #smart_editor2 .se2_palette .se2_pick_color .active span { width: 7px; height: 7px; border: 1px solid #fff; }
#smart_editor2 .se2_palette .se2_view_more { _display: inline; float: left; width: 46px; height: 23px; margin: 1px 0 0 1px; background: url("../img/ko_KR/btn_set.png?130306") 0 -47px no-repeat; }
#smart_editor2 .se2_palette .se2_view_more2 { _display: inline; float: left; width: 46px; height: 23px; margin: 1px 0 0 1px; background: url("../img/ko_KR/btn_set.png?130306") 0 -24px no-repeat; }
#smart_editor2 .se2_palette h4 { _display: inline; float: left; width: 203px; margin: 9px 0 0 11px; padding: 10px 0 4px 0; background: url("../img/bg_line1.gif") repeat-x; font-weight: normal; font-size: 12px; line-height: 14px; color: #333; letter-spacing: -1px; }
#smart_editor2 .se2_palette2 { float: left; _float: none; width: 214px; margin: 9px 0 0 0; padding: 11px 0 0 11px; background: url("../img/bg_line1.gif") repeat-x; }
#smart_editor2 .se2_palette2 .se2_color_set { float: left; }
#smart_editor2 .se2_palette2 .se2_selected_color { _display: inline; float: left; width: 83px; height: 18px; margin: 0; border: 1px solid #c7c7c7; background: #fff; }
#smart_editor2 .se2_palette2 .se2_selected_color span { _display: inline; float: left; width: 79px; height: 14px; margin: 2px; }
#smart_editor2 .se2_palette2 .input_ty1 { _display: inline; float: left; width: 67px; height: 16px; margin: 0 3px 0 3px; padding: 2px 2px 0 4px; font-family: tahoma; font-size: 11px; }
#smart_editor2 .se2_palette2 button.se2_btn_insert { float: left; width: 35px; height: 21px; margin-left: 2px; padding: 0; background: url("../img/ko_KR/btn_set.png?130306") -80px 0 no-repeat; }
#smart_editor2 .se2_gradation1 { float: left; _float: none; width: 201px; height: 128px; margin: 4px 0 0 0; border: 1px solid #c7c7c7; cursor: crosshair; }
#smart_editor2 .se2_gradation2 { float: left; _float: none; width: 201px; height: 10px; margin: 4px 0 1px 0; border: 1px solid #c7c7c7; cursor: crosshair; }
/* TEXT_TOOLBAR : BGCOLOR */
#smart_editor2 .se2_palette_bgcolor { width: 225px; margin: 11px 0 0; padding: 0; }
#smart_editor2 .se2_palette_bgcolor .se2_background { width: 205px; margin: 0 11px 0 11px; }
#smart_editor2 .se2_palette_bgcolor .se2_background li { width: 68px; height: 20px; }
#smart_editor2 .se2_palette_bgcolor .se2_background button { width: 67px; height: 19px; border: 0; }
#smart_editor2 .se2_palette_bgcolor .se2_background span { left: 0; display: block; visibility: visible; overflow: visible; width: 65px; height: 17px; padding: 0; }
#smart_editor2 .se2_palette_bgcolor .se2_background span span { display: block; visibility: visible; overflow: visible; width: 64px; height: 16px; padding: 3px 0 0 3px; font-size: 11px; line-height: 14px; text-align: left; }
#smart_editor2 .se2_palette_bgcolor .se2_background .hover span { width: 65px; height: 17px; border: 1px solid #666; }
#smart_editor2 .se2_palette_bgcolor .se2_background .hover span span { width: 62px; height: 14px; padding: 1px 0 0 1px; border: 1px solid #fff; }
/* TEXT_TOOLBAR : LINEHEIGHT */
#smart_editor2 .se2_l_line_height { width: 107px; margin: 0; padding: 0; }
#smart_editor2 .se2_l_line_height li { width: 107px; margin: 0; padding: 0; border-top: 0; border-bottom: 0; color: #333; cursor: pointer; }
#smart_editor2 .se2_l_line_height .hover { background: #ebebeb; }
#smart_editor2 .se2_l_line_height button { width: 105px; height: 19px; margin: 0; padding: 3px 0 2px 0px; background: none; text-align: left; }
#smart_editor2 .se2_l_line_height button span { visibility: visible; overflow: visible; position: relative; width: auto; height: auto; margin: 0; padding: 0 0 0 15px; font-size: 12px; line-height: normal; color: #373737; }
#smart_editor2 .se2_l_line_height li button.active span { background: url("../img/icon_set.gif") 5px -30px no-repeat; }
#smart_editor2 .se2_l_line_height_user { clear: both; width: 83px; margin: 5px 0 0 12px; padding: 10px 0 0 0; _padding: 11px 0 0 0; background: url("../img/bg_line1.gif") repeat-x; }
#smart_editor2 .se2_l_line_height_user h3 { margin: 0 0 4px 0; _margin: 0 0 2px -1px; padding: 0; line-height: 14px; color: #000; letter-spacing: -1px; }
#smart_editor2 .se2_l_line_height_user .bx_input { display: block; position: relative; width: 83px; }
#smart_editor2 .se2_l_line_height_user .btn_up { position: absolute; top: 2px; *top: 3px; left: 68px; width: 13px; height: 8px; background: url("../img/ko_KR/btn_set.png?130306") -86px -54px no-repeat; }
#smart_editor2 .se2_l_line_height_user .btn_down { position: absolute; top: 10px; *top: 11px; left: 68px; width: 13px; height: 8px; background: url("../img/ko_KR/btn_set.png?130306") -86px -62px no-repeat; }
#smart_editor2 .se2_l_line_height_user .btn_area { margin: 5px 0 10px 0; }
#smart_editor2 .se2_tool .btn_area .se2_btn_apply3 { width: 41px; height: 24px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat; }
#smart_editor2 .se2_tool .btn_area .se2_btn_cancel3 { width: 39px; height: 24px; margin-left: 3px; background: url("../img/ko_KR/btn_set.png?130306") -41px 0 no-repeat; }
/* TEXT_TOOLBAR : QUOTE */
#smart_editor2 .se2_quote { width: 425px; height: 56px; }
#smart_editor2 .se2_quote ul { _display: inline; float: left; margin: 11px 0 0 9px; padding: 0; }
#smart_editor2 .se2_quote li { _display: inline; float: left; margin: 0 0 0 2px; padding: 0; }
#smart_editor2 .se2_quote button { width: 34px; height: 34px; margin: 0; padding: 0; background: url("../img/ko_KR/btn_set.png?130306") no-repeat; cursor: pointer; }
#smart_editor2 .se2_quote button span { left: 0; display: block; visibility: visible; overflow: visible; width: 32px; height: 32px; margin: 0; padding: 0; border: 1px solid #c7c7c7; }
#smart_editor2 .se2_quote button span span { visibility: hidden; overflow: hidden; position: absolute; top: 0; left: 0; width: 0; height: 0; margin: 0; padding: 0; }
#smart_editor2 .se2_quote .se2_quote1 { background-position: 1px -375px; }
#smart_editor2 .se2_quote .se2_quote2 { background-position: -32px -375px; }
#smart_editor2 .se2_quote .se2_quote3 { background-position: -65px -375px; }
#smart_editor2 .se2_quote .se2_quote4 { background-position: -98px -375px; }
#smart_editor2 .se2_quote .se2_quote5 { background-position: -131px -375px; }
#smart_editor2 .se2_quote .se2_quote6 { background-position: -164px -375px; }
#smart_editor2 .se2_quote .se2_quote7 { background-position: -197px -375px; }
#smart_editor2 .se2_quote .se2_quote8 { background-position: -230px -375px; }
#smart_editor2 .se2_quote .se2_quote9 { background-position: -263px -375px; }
#smart_editor2 .se2_quote .se2_quote10 { background-position: -296px -375px; }
#smart_editor2 .se2_quote .hover button span, #smart_editor2 .se2_quote .active button span { width: 30px; height: 30px; margin: 0; padding: 0; border: 2px solid #44b525; }
#smart_editor2 .se2_quote .hover button span span, #smart_editor2 .se2_quote .active button span span { visibility: hidden; overflow: hidden; position: absolute; top: 0; left: 0; width: 0; height: 0; margin: 0; padding: 0; }
#smart_editor2 .se2_quote .se2_cancel2 { float: left; width: 40px; height: 35px; margin: 11px 0 0 5px; background: url("../img/ko_KR/btn_set.png?130306") -46px -24px no-repeat; }
#smart_editor2 .se2_quote .se2_cancel2 span { visibility: hidden; overflow: hidden; position: absolute; top: 0; left: 0; width: 0; height: 0; margin: 0; padding: 0; }
/* TEXT_TOOLBAR : HYPERLINK */
#smart_editor2 .se2_url2 { width: 281px; padding: 11px 11px 6px 11px; color: #666; }
#smart_editor2 .se2_url2 .input_ty1 { display: block; width: 185px; height: 16px; margin: 0 5px 5px 0; *margin: -1px 5px 5px 0; padding: 5px 2px 0 4px; }
#smart_editor2 .se2_url2 .se2_url_new { width: 15px; height: 15px; margin: -1px 3px 1px -1px; *margin: -2px 3px 2px -1px; vertical-align: middle; }
#smart_editor2 .se2_url2 label { font-size: 11px; line-height: 14px; vertical-align: middle; }
#smart_editor2 .se2_url2 .se2_apply { position: absolute; top: 13px; right: 51px; width: 41px; height: 24px; margin: -1px 3px 1px 0; background: url("../img/ko_KR/btn_set.png?130306") no-repeat; }
#smart_editor2 .se2_url2 .se2_cancel { position: absolute; top: 13px; right: 9px; width: 39px; height: 24px; margin: -1px 3px 1px 0; background: url("../img/ko_KR/btn_set.png?130306") -41px 0 no-repeat; }
/* TEXT_TOOLBAR : SCHARACTER */
#smart_editor2 .se2_bx_character { width: 469px; height: 272px; margin: 0; padding: 0; background: url("../img/ko_KR/bx_set_110302.gif") 9px -1230px no-repeat; }
#smart_editor2 .se2_bx_character .se2_char_tab { _display: inline; float: left; position: relative; width: 443px; margin: 11px 10px 200px 11px; padding: 0 0 0 1px; }
#smart_editor2 .se2_bx_character .se2_char_tab li { position: static; margin: 0 0 0 -1px; padding: 0; }
#smart_editor2 .se2_bx_character .se2_char1 { width: 76px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") 0 -204px no-repeat; }
#smart_editor2 .se2_bx_character .se2_char2 { width: 86px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -75px -204px no-repeat; }
#smart_editor2 .se2_bx_character .se2_char3 { width: 68px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -160px -204px no-repeat; }
#smart_editor2 .se2_bx_character .se2_char4 { width: 55px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -227px -204px no-repeat; }
#smart_editor2 .se2_bx_character .se2_char5 { width: 97px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -281px -204px no-repeat; }
#smart_editor2 .se2_bx_character .se2_char6 { width: 66px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -377px -204px no-repeat; }
#smart_editor2 .se2_bx_character .active .se2_char1 { width: 76px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") 0 -230px no-repeat; }
#smart_editor2 .se2_bx_character .active .se2_char2 { width: 86px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -75px -230px no-repeat; }
#smart_editor2 .se2_bx_character .active .se2_char3 { width: 68px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -160px -230px no-repeat; }
#smart_editor2 .se2_bx_character .active .se2_char4 { width: 55px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -227px -230px no-repeat; }
#smart_editor2 .se2_bx_character .active .se2_char5 { width: 97px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -281px -230px no-repeat; }
#smart_editor2 .se2_bx_character .active .se2_char6 { width: 66px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -377px -230px no-repeat; }
#smart_editor2 .se2_bx_character .se2_s_character { display: none; position: absolute; top: 26px; left: 0; width: 448px; height: 194px; margin: 0; padding: 0; }
#smart_editor2 .se2_bx_character .active .se2_s_character { display: block; }
#smart_editor2 .se2_bx_character .se2_s_character ul { float: left; width: 422px; height: 172px; margin: 0; padding: 9px 0 0 11px; }
#smart_editor2 .se2_bx_character .se2_s_character li { _display: inline; float: left; position: relative; width: 20px; height: 18px; margin: 0 0 1px 1px; background: #fff; }
#smart_editor2 .se2_bx_character .se2_s_character button { width: 20px; height: 18px; margin: 0; padding: 2px; background: none; }
#smart_editor2 .se2_bx_character .se2_s_character .hover, #smart_editor2 .se2_bx_character .se2_s_character .active { background: url("../img/ko_KR/btn_set.png?130306") -446px -274px no-repeat; }
#smart_editor2 .se2_bx_character .se2_s_character button span { left: 0; display: block; visibility: visible; overflow: visible; width: 14px; height: 16px; margin: 3px 0 0 3px; border: 0; background: none; font-size: 12px; line-height: normal; }
#smart_editor2 .se2_apply_character { clear: both; position: relative; padding: 0 0 0 11px; }
#smart_editor2 .se2_apply_character label { margin: 0 3px 0 0; font-size: 12px; color: #666; letter-spacing: -1px; }
#smart_editor2 .se2_apply_character .input_ty1 { width: 283px; height: 17px; margin: -1px 5px 1px 0; padding: 4px 0 0 5px; font-size: 12px; color: #666; letter-spacing: 0; vertical-align: middle; }
#smart_editor2 .se2_apply_character .se2_confirm { width: 41px; height: 24px; margin-right: 3px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat; vertical-align: middle; }
#smart_editor2 .se2_apply_character .se2_cancel { width: 39px; height: 24px; background: url("../img/ko_KR/btn_set.png?130306") -41px 0 no-repeat; vertical-align: middle; }
/* TEXT_TOOLBAR : TABLECREATOR */
#smart_editor2 .se2_table_set { position: relative; width: 166px; margin: 3px 11px 0 11px; padding: 8px 0 0 0; }
#smart_editor2 .se2_table_set .se2_cell_num { float: left; width: 73px; }
#smart_editor2 .se2_table_set .se2_cell_num dt { float: left; clear: both; width: 17px; height: 23px; margin: 0; padding: 0; }
#smart_editor2 .se2_table_set .se2_cell_num dt label { display: block; margin: 5px 0 0 0; font-size: 11px; color: #666; }
#smart_editor2 .se2_table_set .se2_cell_num dd { float: left; position: relative; width: 54px; height: 23px; margin: 0; padding: 0; }
#smart_editor2 .se2_table_set .se2_cell_num .input_ty2 { display: block; width: 32px; height: 16px; *margin: -1px 0 0 0; padding: 2px 19px 0 0px; border: 1px solid #c7c7c7; font-family: tahoma,verdana,times New Roman; font-size: 11px; color: #666; text-align: right; }
#smart_editor2 .se2_table_set .se2_cell_num .input_ty2::-ms-clear { display: none; }
#smart_editor2 .se2_table_set .se2_pre_table { float: right; width: 91px; height: 43px; background: #c7c7c7; border-spacing: 1px; }
#smart_editor2 .se2_table_set .se2_pre_table tr { background: #fff; }
#smart_editor2 .se2_table_set .se2_pre_table td { font-size: 0; line-height: 0; }
#smart_editor2 .se2_table_set .se2_add { position: absolute; top: 2px; right: 3px; width: 13px; height: 8px; background: url("../img/ko_KR/btn_set.png?130306") -86px -54px no-repeat; }
#smart_editor2 .se2_table_set .se2_del { position: absolute; top: 10px; right: 3px; width: 13px; height: 8px; background: url("../img/ko_KR/btn_set.png?130306") -86px -62px no-repeat; }
/* TEXT_TOOLBAR : TABLEEDITOR */
#smart_editor2 .se2_table_set .se2_t_proper1 { float: left; width: 166px; margin: 7px 0 0 0; padding: 10px 0 5px; background: url("../img/bg_line1.gif") repeat-x; }
#smart_editor2 .se2_table_set .se2_t_proper1 dt { width: 166px; margin: 0 0 6px 0; }
#smart_editor2 .se2_table_set .se2_t_proper1 dd { width: 166px; }
#smart_editor2 .se2_table_set .se2_t_proper1 dt input { width: 15px; height: 15px; margin: -1px 3px 1px 0; _margin: -2px 3px 2px 0; vertical-align: middle; }
#smart_editor2 .se2_table_set .se2_t_proper1 dt label { font-weight: bold; font-size: 11px; color: #666; letter-spacing: -1px; vertical-align: middle; }
#smart_editor2 .se2_table_set .se2_t_proper1_1 { float: left; position: relative; z-index: 59; width: 166px; margin: 1px 0 0 0; }
#smart_editor2 .se2_table_set .se2_t_proper1_2 { z-index: 54; margin: 0; }
#smart_editor2 .se2_table_set .se2_t_proper1_3 { z-index: 53; margin: 0; }
#smart_editor2 .se2_table_set .se2_t_proper1_4 { z-index: 52; margin: 0; }
#smart_editor2 .se2_table_set .se2_t_proper1_1 dt { _display: inline; float: left; clear: both; width: 66px; height: 22px; margin: 1px 0 0 18px; }
#smart_editor2 .se2_table_set .se2_t_proper1_1 dt label { display: block; margin: 4px 0 0 0; font-weight: normal; font-size: 11px; color: #666; letter-spacing: -1px; }
#smart_editor2 .se2_table_set .se2_t_proper1_1 dd { float: left; position: relative; width: 82px; height: 23px; }
#smart_editor2 .se2_table_set .se2_t_proper1_1 .input_ty1 { width: 72px; height: 16px; *margin: -1px 0 0 0; padding: 2px 2px 0 6px; font-family: tahoma,verdana,times New Roman; font-size: 11px; color: #666; }
#smart_editor2 .se2_table_set .se2_t_proper1_1 .input_ty3 { float: left; width: 49px; height: 16px; margin: 0 3px 0 0; padding: 2px 4px 0 4px; border: 1px solid #c7c7c7; font-family: tahoma,verdana,times New Roman; font-size: 11px; color: #666; }
#smart_editor2 .se2_table_set .se2_t_proper1_1 .se2_add { top: 2px; right: 2px; }
#smart_editor2 .se2_table_set .se2_t_proper1_1 .se2_del { top: 10px; right: 2px; }
#smart_editor2 .se2_table_set .se2_t_proper1_1 .se2_color_set .input_ty1 { _display: inline; float: left; width: 67px; height: 16px; margin: 0 3px 0 3px; padding: 2px 2px 0 4px; font-family: tahoma,verdana,times New Roman; font-size: 11px; }
#smart_editor2 .se2_select_ty1 { position: relative; width: 80px; height: 18px; border: 1px solid #c7c7c7; background: #fff; font-size: 11px; line-height: 14px; text-align: left; }
#smart_editor2 .se2_select_ty1 span { float: left; width: 54px; height: 18px; margin: 0 0 0 5px; font-size: 11px; line-height: 14px; color: #666; }
#smart_editor2 .se2_select_ty1 .se2_b_style0 { position: relative; top: 3px; left: -3px; white-space: nowrap; }
#smart_editor2 .se2_select_ty1 .se2_b_style1 { height: 15px; margin: 3px 0 0 4px; font-size: 11px; line-height: 14px; color: #666; letter-spacing: -1px; }
#smart_editor2 .se2_select_ty1 .se2_b_style2 { background: url("../img/bg_set.gif") 0 -50px repeat-x; }
#smart_editor2 .se2_select_ty1 .se2_b_style3 { background: url("../img/bg_set.gif") 0 -68px repeat-x; }
#smart_editor2 .se2_select_ty1 .se2_b_style4 { background: url("../img/bg_set.gif") 0 -85px repeat-x; }
#smart_editor2 .se2_select_ty1 .se2_b_style5 { background: url("../img/bg_set.gif") 0 -103px repeat-x; }
#smart_editor2 .se2_select_ty1 .se2_b_style6 { background: url("../img/bg_set.gif") 0 -121px repeat-x; }
#smart_editor2 .se2_select_ty1 .se2_b_style7 { background: url("../img/bg_set.gif") 0 -139px repeat-x; }
#smart_editor2 .se2_select_ty1 .se2_view_more { position: absolute; top: 1px; right: 1px; width: 13px; height: 16px; background: url("../img/ko_KR/btn_set.png?130306") -112px -54px no-repeat; }
#smart_editor2 .se2_select_ty1 .se2_view_more2 { position: absolute; top: 1px; right: 1px; width: 13px; height: 16px; background: url("../img/ko_KR/btn_set.png?130306") -99px -54px no-repeat; }
/* TEXT_TOOLBAR : TABLEEDITOR > BORDER */
#smart_editor2 .se2_table_set .se2_b_t_b1 { border-top: 1px solid #b1b1b1; }
#smart_editor2 .se2_layer_b_style { position: absolute; top: 20px; right: 0px; width: 80px; padding-bottom: 1px; border: 1px solid #c7c7c7; border-top: 1px solid #a8a8a8; background: #fff; }
#smart_editor2 .se2_layer_b_style ul { width: 80px; margin: 0; padding: 1px 0 0 0; }
#smart_editor2 .se2_layer_b_style li { width: 80px; height: 18px; margin: 0; padding: 0; }
#smart_editor2 .se2_layer_b_style .hover, #smart_editor2 .se2_layer_b_style .active { background: #ebebeb; }
#smart_editor2 .se2_layer_b_style button { width: 80px; height: 18px; background: none; }
#smart_editor2 .se2_layer_b_style button span { left: 0; display: block; visibility: visible; overflow: visible; width: 71px; height: 18px; margin: 0 0 0 5px; font-size: 11px; line-height: 15px; text-align: left; }
#smart_editor2 .se2_layer_b_style button span span { visibility: hidden; overflow: hidden; position: absolute; top: 0; left: 0; width: 0; height: 0; }
#smart_editor2 .se2_layer_b_style .se2_b_style1 span { margin: 3px 0 0 4px; font-size: 11px; line-height: 14px; color: #666; letter-spacing: -1px; }
#smart_editor2 .se2_layer_b_style .se2_b_style2 span { background: url("../img/bg_set.gif") 0 -50px repeat-x; }
#smart_editor2 .se2_layer_b_style .se2_b_style3 span { background: url("../img/bg_set.gif") 0 -68px repeat-x; }
#smart_editor2 .se2_layer_b_style .se2_b_style4 span { background: url("../img/bg_set.gif") 0 -86px repeat-x; }
#smart_editor2 .se2_layer_b_style .se2_b_style5 span { background: url("../img/bg_set.gif") 0 -103px repeat-x; }
#smart_editor2 .se2_layer_b_style .se2_b_style6 span { background: url("../img/bg_set.gif") 0 -121px repeat-x; }
#smart_editor2 .se2_layer_b_style .se2_b_style7 span { background: url("../img/bg_set.gif") 0 -139px repeat-x; }
/* TEXT_TOOLBAR : TABLEEDITOR > COLOR */
#smart_editor2 .se2_pre_color { float: left; width: 18px; height: 18px; border: 1px solid #c7c7c7; }
#smart_editor2 .se2_pre_color button { float: left; width: 14px; height: 14px; margin: 2px 0 0 2px; padding: 0; }
#smart_editor2 .se2_pre_color button span { overflow: hidden; position: absolute; top: -10000px; left: -10000px; z-index: -100; width: 0; height: 0; }
/* TEXT_TOOLBAR : TABLEEDITOR > DIMMED */
#smart_editor2 .se2_table_set .se2_t_dim1 { clear: both; position: absolute; top: 71px; left: 16px; z-index: 60; width: 157px; height: 118px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_table_set .se2_t_dim2 { position: absolute; top: 116px; left: 16px; z-index: 55; width: 157px; height: 45px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_table_set .se2_t_dim3 { clear: both; position: absolute; top: 192px; left: 16px; z-index: 51; width: 157px; height: 39px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
/* TEXT_TOOLBAR : TABLEEDITOR > STYLE PREVIEW */
#smart_editor2 .se2_table_set .se2_t_proper2 { float: left; position: relative; z-index: 50; width: 166px; margin: 2px 0 0 0; }
#smart_editor2 .se2_table_set .se2_t_proper2 dt { float: left; width: 84px; height: 33px; margin: 4px 0 0 0; }
#smart_editor2 .se2_table_set .se2_t_proper2 dt input { width: 15px; height: 15px; margin: -1px 3px 1px 0; _margin: -2px 3px 2px 0; vertical-align: middle; }
#smart_editor2 .se2_table_set .se2_t_proper2 dt label { font-weight: bold; font-size: 11px; color: #666; letter-spacing: -1px; vertical-align: middle; }
#smart_editor2 .se2_table_set .se2_t_proper2 dd { float: left; width: 66px; height: 33px; }
#smart_editor2 .se2_select_ty2 { position: relative; width: 65px; height: 31px; border: 1px solid #c7c7c7; background: #fff; font-size: 11px; line-height: 14px; text-align: left; }
#smart_editor2 .se2_select_ty2 span { float: left; width: 45px; height: 25px; margin: 3px 0 0 3px; background: url("../img/ko_KR/btn_set.png?130306") repeat-x; }
#smart_editor2 .se2_select_ty2 .se2_t_style1 { background-position: 0 -410px; }
#smart_editor2 .se2_select_ty2 .se2_t_style2 { background-position: -46px -410px; }
#smart_editor2 .se2_select_ty2 .se2_t_style3 { background-position: -92px -410px; }
#smart_editor2 .se2_select_ty2 .se2_t_style4 { background-position: -138px -410px; }
#smart_editor2 .se2_select_ty2 .se2_t_style5 { background-position: -184px -410px; }
#smart_editor2 .se2_select_ty2 .se2_t_style6 { background-position: -230px -410px; }
#smart_editor2 .se2_select_ty2 .se2_t_style7 { background-position: -276px -410px; }
#smart_editor2 .se2_select_ty2 .se2_t_style8 { background-position: -322px -410px; }
#smart_editor2 .se2_select_ty2 .se2_t_style9 { background-position: 0 -436px; }
#smart_editor2 .se2_select_ty2 .se2_t_style10 { background-position: -46px -436px; }
#smart_editor2 .se2_select_ty2 .se2_t_style11 { background-position: -92px -436px; }
#smart_editor2 .se2_select_ty2 .se2_t_style12 { background-position: -138px -436px; }
#smart_editor2 .se2_select_ty2 .se2_t_style13 { background-position: -184px -436px; }
#smart_editor2 .se2_select_ty2 .se2_t_style14 { background-position: -230px -436px; }
#smart_editor2 .se2_select_ty2 .se2_t_style15 { background-position: -276px -436px; }
#smart_editor2 .se2_select_ty2 .se2_t_style16 { background-position: -322px -436px; }
#smart_editor2 .se2_select_ty2 .se2_view_more { position: absolute; top: 1px; right: 1px; _right: 0px; width: 13px !important; height: 29px !important; background: url("../img/ko_KR/btn_set.png?130306") -353px -48px no-repeat !important; }
#smart_editor2 .se2_select_ty2 .se2_view_more2 { position: absolute; top: 1px; right: 1px; _right: 0px; width: 13px !important; height: 29px !important; background: url("../img/ko_KR/btn_set.png?130306") -340px -48px no-repeat !important; }
#smart_editor2 .se2_select_ty2 .se2_view_more span { display: none; }
/* TEXT_TOOLBAR : TABLEEDITOR > STYLE */
#smart_editor2 .se2_layer_t_style { position: absolute; top: 33px; right: 15px; width: 208px; border: 1px solid #c7c7c7; border-top: 1px solid #a8a8a8; background: #fff; }
#smart_editor2 .se2_layer_t_style ul { width: 204px; height: 126px; margin: 1px 2px; padding: 1px 0 0 0; background: #fff; }
#smart_editor2 .se2_layer_t_style li { _display: inline; float: left; width: 45px; height: 25px; margin: 1px; padding: 1px; border: 1px solid #fff; }
#smart_editor2 .se2_layer_t_style .hover, #smart_editor2 .se2_layer_t_style .active { border: 1px solid #666; background: #fff; }
#smart_editor2 .se2_layer_t_style button { width: 45px; height: 25px; background: url("../img/ko_KR/btn_set.png?130306") repeat-x !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style1 { background-position: 0 -410px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style2 { background-position: -46px -410px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style3 { background-position: -92px -410px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style4 { background-position: -138px -410px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style5 { background-position: -184px -410px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style6 { background-position: -230px -410px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style7 { background-position: -276px -410px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style8 { background-position: -322px -410px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style9 { background-position: 0 -436px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style10 { background-position: -46px -436px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style11 { background-position: -92px -436px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style12 { background-position: -138px -436px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style13 { background-position: -184px -436px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style14 { background-position: -230px -436px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style15 { background-position: -276px -436px !important; }
#smart_editor2 .se2_layer_t_style .se2_t_style16 { background-position: -322px -436px !important; }
#smart_editor2 .se2_table_set .se2_btn_area { float: left; width: 166px; margin: 6px 0 0 0; padding: 12px 0 8px 0; background: url("../img/bg_line1.gif") repeat-x; text-align: center; }
#smart_editor2 .se2_table_set button.se2_apply { width: 41px; height: 24px; margin-right: 3px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat; }
#smart_editor2 .se2_table_set button.se2_cancel { width: 39px; height: 24px; background: url("../img/ko_KR/btn_set.png?130306") -41px 0 no-repeat; }
#smart_editor2 .se2_table_set .se2_rd { width: 14px; height: 14px; vertical-align: middle; }
#smart_editor2 .se2_table_set .se2_celltit { font-size: 11px; font-size: 11px; color: #666; letter-spacing: -1px; }
#smart_editor2 .se2_table_set dt label.se2_celltit { display: inline; }
/* TEXT_TOOLBAR : FINDREPLACE */
#smart_editor2 .se2_bx_find_revise { position: relative; width: 255px; margin: 0; padding: 0; }
#smart_editor2 .se2_bx_find_revise .se2_close { position: absolute; top: 5px; right: 8px; width: 20px; height: 20px; background: url("../img/ko_KR/btn_set.png?130306") -151px -1px no-repeat; }
#smart_editor2 .se2_bx_find_revise h3 { margin: 0; padding: 10px 0 13px 10px; background: url("../img/bg_find_h3.gif") 0 -1px repeat-x; font-size: 12px; line-height: 14px; letter-spacing: -1px; }
#smart_editor2 .se2_bx_find_revise ul { position: relative; margin: 8px 0 0 0; padding: 0 0 0 12px; }
#smart_editor2 .se2_bx_find_revise ul li { _display: inline; float: left; position: static; margin: 0 0 0 -1px; padding: 0; }
#smart_editor2 .se2_bx_find_revise .se2_tabfind { width: 117px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") 0 -100px no-repeat; }
#smart_editor2 .se2_bx_find_revise .se2_tabrevise { width: 117px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -116px -100px no-repeat; }
#smart_editor2 .se2_bx_find_revise .active .se2_tabfind { width: 117px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") 0 -126px no-repeat; }
#smart_editor2 .se2_bx_find_revise .active .se2_tabrevise { width: 117px; height: 26px; background: url("../img/ko_KR/btn_set.png?130306") -116px -126px no-repeat; }
#smart_editor2 .se2_bx_find_revise .se2_in_bx_find dl { _display: inline; float: left; width: 223px; margin: 0 0 0 9px; padding: 7px 0 13px 14px; background: url("../img/ko_KR/bx_set_110302.gif") -289px -1518px no-repeat; }
#smart_editor2 .se2_bx_find_revise .se2_in_bx_revise dl { _display: inline; float: left; width: 223px; margin: 0 0 0 9px; padding: 7px 0 13px 14px; background: url("../img/ko_KR/bx_set_110302.gif") -289px -1619px no-repeat; }
#smart_editor2 .se2_bx_find_revise dt { _display: inline; float: left; clear: both; width: 47px; margin: 1px 0 2px 0; }
#smart_editor2 .se2_bx_find_revise dd { float: left; margin: 0 0 2px 0; }
#smart_editor2 .se2_bx_find_revise label { float: left; padding: 5px 0 0 0; font-size: 11px; color: #666; letter-spacing: -2px; }
#smart_editor2 .se2_bx_find_revise input { float: left; width: 155px; height: 12px; margin: 1px 0 0 0; padding: 3px 2px 3px 4px; font-size: 12px; color: #666; }
#smart_editor2 .se2_bx_find_revise .se2_find_btns { float: left; clear: both; width: 255px; padding: 8px 0 10px 0; text-align: center; }
#smart_editor2 .se2_bx_find_revise .se2_find_next { width: 65px; height: 24px; margin: 0 3px 0 0; background: url("../img/ko_KR/btn_set.png?130306") -180px -48px no-repeat; }
#smart_editor2 .se2_bx_find_revise .se2_find_next2 { width: 61px; height: 24px; margin: 0 3px 0 0; background: url("../img/ko_KR/btn_set.png?130306") -180px -24px no-repeat; }
#smart_editor2 .se2_bx_find_revise .se2_revise1 { width: 54px; height: 24px; margin: 0 3px 0 0; background: url("../img/ko_KR/btn_set.png?130306") -245px -48px no-repeat; }
#smart_editor2 .se2_bx_find_revise .se2_revise2 { width: 70px; height: 24px; margin: 0 3px 0 0; background: url("../img/ko_KR/btn_set.png?130306") -245px -24px no-repeat; }
#smart_editor2 .se2_bx_find_revise .se2_cancel { width: 39px; height: 24px; background: url("../img/ko_KR/btn_set.png?130306") -41px 0 no-repeat; }
/* TEXT_TOOLBAR : QUICKEDITOR_TABLE */
#smart_editor2 .se2_qmax { position: absolute; width: 18px; height: 18px; background: url("../img/ko_KR/btn_set.png?130306") -339px -169px no-repeat; }
#smart_editor2 .se2_qeditor { position: absolute; top: 0; left: 0; width: 183px; margin: 0; padding: 0; border: 1px solid #c7c7c7; border-right: 1px solid #ababab; border-bottom: 1px solid #ababab; background: #fafafa; }
#smart_editor2 .se2_qeditor label, #smart_editor2 .se2_qeditor span, #smart_editor2 .se2_qeditor dt { font-size: 11px; color: #666; letter-spacing: -1px; }
#smart_editor2 .se2_qbar { position: relative; width: 183px; height: 11px; background: url("../img/ko_KR/bx_set_110302.gif") 0 -731px no-repeat; }
#smart_editor2 .se2_qbar .se2_qmini { position: absolute; top: -1px; right: 0; *right: -1px; _right: -3px; width: 18px; height: 14px; background: url("../img/ko_KR/btn_set.png?130306") -315px -170px no-repeat; }
#smart_editor2 .se2_qbar .se2_qmini button { width: 20px; height: 14px; margin-top: -1px; }
#smart_editor2 .se2_qeditor .se2_qbody0 { float: left; border: 1px solid #fefefe; }
#smart_editor2 .se2_qeditor .se2_qbody { position: relative; z-index: 90; width: 174px; padding: 4px 0 0 7px; }
#smart_editor2 .se2_qeditor .se2_qe1 { overflow: hidden; width: 174px; }
#smart_editor2 .se2_qeditor .se2_qe1 dt { float: left; width: 22px; height: 18px; padding: 4px 0 0 0; }
#smart_editor2 .se2_qeditor .se2_qe1 dd { float: left; width: 65px; height: 22px; }
#smart_editor2 .se2_qeditor .se2_addrow { width: 28px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -385px -49px; }
#smart_editor2 .se2_qeditor .se2_addcol { width: 29px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -413px -49px; }
#smart_editor2 .se2_qeditor .se2_seprow { width: 28px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -385px -68px; }
#smart_editor2 .se2_qeditor .se2_sepcol { width: 29px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -413px -68px; }
#smart_editor2 .se2_qeditor .se2_delrow { width: 28px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -385px -106px; }
#smart_editor2 .se2_qeditor .se2_delcol { width: 29px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -413px -106px; }
#smart_editor2 .se2_qeditor .se2_merrow { width: 57px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -385px -125px; }
#smart_editor2 .se2_qeditor .se2_mercol { width: 57px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -413px -125px; }
#smart_editor2 .se2_qeditor .se2_seprow_off { width: 28px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -385px -87px; }
#smart_editor2 .se2_qeditor .se2_sepcol_off { width: 29px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -413px -87px; }
#smart_editor2 .se2_qeditor .se2_merrow_off { width: 57px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -385px -144px; }
#smart_editor2 .se2_qeditor .se2_mercol_off { width: 57px; height: 19px; background: url("../img/ko_KR/btn_set.png?130306") no-repeat -413px -144px; }
/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > CELL_BACKGROUND */
#smart_editor2 .se2_qeditor .se2_qe2 { _display: inline; float: left; position: relative; z-index: 100; width: 165px; margin: 2px 0 0 1px; padding: 7px 0 0 0; background: url("../img/bg_line1.gif") repeat-x; zoom: 1; }
#smart_editor2 .se2_qeditor .se2_qe2_1 dt { float: left; width: 62px; padding: 3px 0 0 0; }
#smart_editor2 .se2_qeditor .se2_qe2_1 dt input { width: 15px; height: 15px; margin: -1px 1px 1px -1px; vertical-align: middle; }
#smart_editor2 .se2_qeditor .se2_qe2_1 dd { float: left; position: relative; zoom: 1; }
#smart_editor2 .se2_qeditor .se2_qe2_3 { padding: 7px 0 6px 0; }
/* My글양식 없을때 */
#smart_editor2 .se2_qeditor .se2_qe2_2 { position: relative; _position: absolute; }
#smart_editor2 .se2_qeditor .se2_qe2_2 dt { float: left; width: 50px; padding: 3px 0 0 13px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 dt input { width: 15px; height: 15px; margin: -1px 2px 1px -1px; vertical-align: middle; }
#smart_editor2 .se2_qeditor .se2_qe2_2 dd { float: left; }
/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > STYLE */
#smart_editor2 .se2_table_set .se2_qbody .se2_t_proper2 { float: left; *float: none; position: static; width: 166px; margin: 5px 0 0 1px; }
#smart_editor2 .se2_qeditor .se2_qe3 dt { float: left; width: 62px; padding: 0; }
#smart_editor2 .se2_qeditor .se2_qe3 dt label { font-weight: normal; }
#smart_editor2 .se2_qeditor .se2_qe3 dt input { width: 15px; height: 15px; margin: -1px 1px 1px -1px; vertical-align: middle; }
#smart_editor2 .se2_qeditor .se2_qe3 dd .se2_qe3_table { position: relative; }
/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > CELL_BACKGROUND PREWVIEW */
#smart_editor2 .se2_qeditor .se2_pre_color { float: left; width: 18px; height: 18px; border: 1px solid #c7c7c7; }
#smart_editor2 .se2_qeditor .se2_pre_color button { float: left; width: 14px; height: 14px; margin: 2px 0 0 2px; padding: 0; }
#smart_editor2 .se2_qeditor .se2_pre_color button span { overflow: hidden; position: absolute; top: -10000px; left: -10000px; z-index: -100; width: 0; height: 0; }
/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > CELL_BACKGROUND LAYER */
#smart_editor2 .se2_qeditor .se2_layer { float: left; clear: both; position: absolute; top: 20px; left: 0; margin: 0; padding: 0; border: 1px solid #c7c7c7; border-top: 1px solid #9a9a9a; background: #fafafa; }
#smart_editor2 .se2_qeditor .se2_layer .se2_in_layer { float: left; margin: 0; padding: 0; border: 1px solid #fff; background: #fafafa; }
#smart_editor2 .se2_qeditor .se2_layer button { vertical-align: top; }
#smart_editor2 .se2_qeditor .se2_layer .se2_pick_color li { position: relative; }
/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > CELL_BACKGROUND IMAGE */
#smart_editor2 .se2_qeditor .se2_pre_bgimg { float: left; width: 14px; height: 14px; padding: 2px; border: 1px solid #c7c7c7; }
#smart_editor2 .se2_qeditor .se2_qe2_2 button { width: 16px; height: 16px; background: url("../img/ko_KR/btn_set.png?130306") 0 -261px no-repeat; }
/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > CELL_BACKGROUND IMAGE LAYER */
#smart_editor2 .se2_cellimg_set { _display: inline; float: left; width: 136px; margin: 4px 3px 0 4px; padding-bottom: 4px; }
#smart_editor2 .se2_cellimg_set li { _display: inline; float: left; width: 16px; height: 16px; margin: 0 1px 1px 0; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg0 { background-position: -255px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg1 { background-position: 0 -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg2 { background-position: -17px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg3 { background-position: -34px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg4 { background-position: -51px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg5 { background-position: -68px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg6 { background-position: -85px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg7 { background-position: -102px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg8 { background-position: -119px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg9 { background-position: -136px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg10 { background-position: -153px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg11 { background-position: -170px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg12 { background-position: -187px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg13 { background-position: -204px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg14 { background-position: -221px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg15 { background-position: -238px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg16 { background-position: -255px -261px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg17 { background-position: 0 -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg18 { background-position: -17px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg19 { background-position: -34px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg20 { background-position: -51px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg21 { background-position: -68px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg22 { background-position: -85px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg23 { background-position: -102px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg24 { background-position: -119px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg25 { background-position: -136px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg26 { background-position: -153px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg27 { background-position: -170px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg28 { background-position: -187px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg29 { background-position: -204px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg30 { background-position: -221px -278px; }
#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg31 { background-position: -238px -278px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg button { width: 14px; height: 14px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg1 { background-position: -1px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg2 { background-position: -18px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg3 { background-position: -35px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg4 { background-position: -52px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg5 { background-position: -69px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg6 { background-position: -86px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg7 { background-position: -103px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg8 { background-position: -120px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg9 { background-position: -137px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg10 { background-position: -154px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg11 { background-position: -171px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg12 { background-position: -188px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg13 { background-position: -205px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg14 { background-position: -222px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg15 { background-position: -239px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg16 { background-position: -256px -262px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg17 { background-position: -1px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg18 { background-position: -18px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg19 { background-position: -35px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg20 { background-position: -52px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg21 { background-position: -69px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg22 { background-position: -86px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg23 { background-position: -103px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg24 { background-position: -120px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg25 { background-position: -137px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg26 { background-position: -154px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg27 { background-position: -171px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg28 { background-position: -188px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg29 { background-position: -205px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg30 { background-position: -222px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg31 { background-position: -239px -279px; }
#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg32 { background-position: -256px -279px; }
/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > MY REVIEW */
#smart_editor2 .se2_btn_area { _display: inline; float: left; clear: both; width: 166px; margin: 5px 0 0 1px; padding: 7px 0 6px 0; background: url("../img/bg_line1.gif") repeat-x; text-align: center; }
#smart_editor2 .se2_btn_area .se2_btn_save { width: 97px; height: 21px; background: url("../img/ko_KR/btn_set.png?130306") -369px -163px no-repeat; }
/* TEXT_TOOLBAR : QUICKEDITOR_IMAGE */
#smart_editor2 .se2_qe10 { width: 166px; margin: 0; *margin: -2px 0 0 0; }
#smart_editor2 .se2_qe10 label { margin: 0 1px 0 0; vertical-align: middle; }
#smart_editor2 .se2_qe10 .se2_sheight { margin-left: 4px; }
#smart_editor2 .se2_qe10 .input_ty1 { width: 30px; height: 13px; margin: 0 0 1px 1px; padding: 3px 4px 0 1px; font-size: 11px; letter-spacing: 0; text-align: right; vertical-align: middle; }
#smart_editor2 .se2_qe10 .se2_sreset { width: 41px; height: 19px; margin-left: 3px; background: url("../img/ko_KR/btn_set.png?130306") -401px -184px no-repeat; vertical-align: middle; }
#smart_editor2 .se2_qe10_1 { margin-top: 4px; padding: 10px 0 3px; background: url("../img/bg_line1.gif") repeat-x; }
#smart_editor2 .se2_qe10_1 input { width: 15px; height: 15px; margin: -1px 3px 1px -1px; vertical-align: middle; }
#smart_editor2 .se2_qe11 { float: left; width: 166px; margin: 4px 0 0 0; padding: 7px 0 2px 0; background: url("../img/bg_line1.gif") repeat-x; }
#smart_editor2 .se2_qe11_1 { float: left; width: 99px; }
#smart_editor2 .se2_qe11_1 dt { float: left; width: 56px; height: 15px; padding: 5px 0 0 0; }
#smart_editor2 .se2_qe11_1 dd { float: left; position: relative; width: 38px; height: 20px; }
#smart_editor2 .se2_qe11_1 .input_ty1 { display: block; width: 29px; height: 15px; margin: 0; *margin: -1px 0 1px 0; padding: 3px 1px 0 5px; font-size: 11px; letter-spacing: 0; text-align: left; }
#smart_editor2 .se2_qe11_1 .se2_add { position: absolute; top: 2px; right: 3px; width: 13px; height: 8px; background: url("../img/ko_KR/btn_set.png?130306") -86px -54px no-repeat; }
#smart_editor2 .se2_qe11_1 .se2_del { position: absolute; top: 10px; right: 3px; width: 13px; height: 8px; background: url("../img/ko_KR/btn_set.png?130306") -86px -62px no-repeat; }
#smart_editor2 .se2_qe11_2 { float: left; width: 67px; }
#smart_editor2 .se2_qe11_2 dt { float: left; width: 47px; margin: 5px 0 0 0; }
#smart_editor2 .se2_qe11_2 dd { float: left; position: relative; width: 20px; }
#smart_editor2 .se2_qe12 { float: left; width: 166px; margin: 3px 0 0 0; padding: 7px 0 0 0; background: url("../img/bg_line1.gif") repeat-x; }
#smart_editor2 .se2_qe12 dt { float: left; margin: 5px 4px 0 0; }
#smart_editor2 .se2_qe12 dd { float: left; padding: 0 0 6px 0; }
#smart_editor2 .se2_qe12 .se2_align0 { float: left; width: 19px; height: 21px; background: url("../img/ko_KR/btn_set.png?130306") -276px -121px no-repeat; }
#smart_editor2 .se2_qe12 .se2_align1 { float: left; width: 19px; height: 21px; background: url("../img/ko_KR/btn_set.png?130306") -295px -121px no-repeat; }
#smart_editor2 .se2_qe12 .se2_align2 { float: left; width: 20px; height: 21px; background: url("../img/ko_KR/btn_set.png?130306") -314px -121px no-repeat; }
#smart_editor2 .se2_qe13 { position: relative; z-index: 10; zoom: 1; }
#smart_editor2 .se2_qe13 dt { float: left; width: 62px; padding: 3px 0 0; }
#smart_editor2 .se2_qe13 dt input { width: 15px; height: 15px; margin: -1px 1px 1px -1px; vertical-align: middle; zoom: 1; }
#smart_editor2 .se2_qe13 dt .se2_qdim2 { width: 32px; }
#smart_editor2 .se2_qe13 dd .se2_select_ty1 { width: 38px; }
#smart_editor2 .se2_qe13 dd .se2_select_ty1 span { width: 15px; }
#smart_editor2 .se2_qe13 dd .input_ty1 { width: 20px; }
#smart_editor2 .se2_qe13 dd .se2_palette2 .input_ty1 { width: 67px; }
#smart_editor2 .se2_qe13 .se2_add { *top: 3px; }
#smart_editor2 .se2_qe13 .se2_del { *top: 11px; }
#smart_editor2 .se2_qe13 .se2_layer_b_style { right: -2px; _right: 0; }
#smart_editor2 .se2_qe13 .se2_layer_b_style li span { width: auto; margin: 0 4px 0 5px; padding-top: 2px; }
#smart_editor2 .se2_qe13 dd { _display: inline; float: left; position: relative; width: 29px; margin-right: 5px; _margin-right: 3px; zoom: 1; }
#smart_editor2 .se2_qe13 dd .se2_palette h4 { margin-top: 9px; font-family: dotum; font-size: 12px; }
#smart_editor2 .se2_qe13 dd.dd_type { width: 38px; }
#smart_editor2 .se2_qe13 dd.dd_type2 { width: 37px; margin-right: 3px; }
#smart_editor2 .se2_qe13 dd.dd_type2 .input_ty1 { width: 29px; }
#smart_editor2 .se2_qe13 dd.dd_type2 button { right: 2px; _right: 1px; }
#smart_editor2 .se2_qe13 dd.dd_type3 { width: 20px; margin: 0; }
#smart_editor2 .se2_qe13_v1 { _display: inline; float: left; margin: 2px 0 1px; }
#smart_editor2 .se2_qe13_v1 dt { padding: 4px 0 0 1px; }
#smart_editor2 .se2_qe13_v2 { _display: inline; float: left; position: relative; z-index: 100; width: 165px; margin: 4px 0 0 1px; zoom: 1; }
#smart_editor2 .se2_qe13_v2 dd { width: 18px; margin: 0; }
#smart_editor2 .se2_qeditor .se2_qdim1 { clear: both; position: absolute; top: 25px; left: 115px; width: 60px; height: 23px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_qeditor .se2_qdim2 { clear: both; position: absolute; top: 55px; left: 24px; z-index: 110; width: 70px; height: 22px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_qeditor .se2_qdim3 { clear: both; position: absolute; top: 55px; left: 118px; z-index: 110; width: 56px; height: 22px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_qeditor .se2_qdim4 { clear: both; position: absolute; top: 81px; left: 23px; z-index: 35; width: 116px; height: 35px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_qeditor .se2_qdim5 { clear: both; position: absolute; top: 31px; left: 106px; width: 68px; height: 26px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_qeditor .se2_qdim6c { clear: both; position: absolute; top: 25px; left: 28px; width: 29px; height: 23px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_qeditor .se2_qdim6r { clear: both; position: absolute; top: 25px; left: 57px; width: 29px; height: 23px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_highedit { float: right; width: 56px; height: 21px; margin: -27px 8px 0 0; background: url("../img/ko_KR/btn_set.png?130306") -329px -142px no-repeat; }
#smart_editor2 .se2_qeditor .se2_qdim7 { clear: both; position: absolute; top: 55px; left: 24px; z-index: 110; width: 150px; height: 48px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_qeditor .se2_qdim8 { clear: both; position: absolute; top: 105px; left: 24px; z-index: 110; width: 150px; height: 37px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_qeditor .se2_qdim9 { clear: both; position: absolute; top: 55px; left: 111px; z-index: 110; width: 65px; height: 24px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_qeditor .se2_qdim10 { clear: both; position: absolute; top: 55px; left: 100px; z-index: 110; width: 77px; height: 24px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
#smart_editor2 .se2_qeditor .se2_qdim11 { clear: both; position: absolute; top: 55px; left: 65px; z-index: 110; width: 115px; height: 24px; background: #fafafa; opacity: 0.5; filter: alpha(opacity=50); }
/* HELP : ACCESSIBILITY */
#smart_editor2 .se2_accessibility { z-index: 90; }
#smart_editor2 .se2_accessibility .se2_in_layer { width: 568px; padding: 0 10px; background: #fafafa; border: 1px solid #bcbbbb; }
#smart_editor2 .se2_accessibility h3 { margin: 0 -10px; padding: 6px 0 12px 0; background: url("../img/bg_find_h3.gif") repeat-x; font-size: 12px; line-height: 14px; letter-spacing: -1px; }
#smart_editor2 .se2_accessibility h3 strong { display: inline-block; padding: 4px 0 3px 11px; color: #333; letter-spacing: 0; }
#smart_editor2 .se2_accessibility .se2_close { position: absolute; top: 10px; right: 12px; width: 13px; height: 12px; background: url("../img/ko_KR/btn_set.png?130306") -155px -5px no-repeat; }
#smart_editor2 .se2_accessibility .box_help { padding: 0 2px; margin-top: 8px; background: url("../img/bg_help.gif") 0 100% no-repeat; }
#smart_editor2 .se2_accessibility .box_help div { overflow: hidden; padding: 20px 21px 24px; border-top: 1px solid #d0d0d0; color: #333; }
#smart_editor2 .se2_accessibility .box_help strong { display: block; margin-bottom: 2px; }
#smart_editor2 .se2_accessibility .box_help p { margin-bottom: 28px; line-height: 1.5; }
#smart_editor2 .se2_accessibility .box_help ul { width: 150%; margin-top: 10px; }
#smart_editor2 .se2_accessibility .box_help li { position: relative; float: left; width: 252px; padding: 5px 0 5px 9px; margin-right: 40px; background: url("../img/ko_KR/btn_set.png?130306") -475px -51px no-repeat; border-right: 1px solid #f0f0f0; *zoom: 1; line-height: 1; }
#smart_editor2 .se2_accessibility .box_help li span { position: absolute; top: 4px; left: 138px; line-height: 1.2; }
#smart_editor2 .se2_accessibility .se2_btns { padding: 9px 0 10px; text-align: center; }
#smart_editor2 .se2_accessibility .se2_btns .se2_close2 { width: 39px; height: 24px; background: url("../img/ko_KR/btn_set.png?130306") -235px -120px no-repeat; }

@ -0,0 +1,20 @@
@charset "UTF-8";
/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
/* COMMON */
.se2_outputarea, .se2_outputarea th, .se2_outputarea td { margin: 0; padding: 0; color: #666; font-size: 12px; font-family: '돋움',Dotum,'굴림',Gulim,Helvetica,Sans-serif; line-height: 1.5; }
.se2_outputarea p { margin: 0; padding: 0; }
.se2_outputarea a:hover { text-decoration: underline; }
.se2_outputarea a:link { color: #0000ff; }
.se2_outputarea ul { margin: 0 0 0 40px; padding: 0; }
.se2_outputarea ul li { margin: 0; list-style-type: disc; padding: 0; }
.se2_outputarea ul ul li { list-style-type: circle; }
.se2_outputarea ul ul ul li { list-style-type: square; }
.se2_outputarea img, .se2_outputarea fieldset { border: 0; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

@ -0,0 +1,133 @@
if(typeof window.nhn=='undefined') window.nhn = {};
if (!nhn.husky) nhn.husky = {};
/**
* @fileOverview This file contains application creation helper function, which would load up an HTML(Skin) file and then execute a specified create function.
* @name HuskyEZCreator.js
*/
nhn.husky.EZCreator = new (function(){
this.nBlockerCount = 0;
this.createInIFrame = function(htOptions){
if(arguments.length == 1){
var oAppRef = htOptions.oAppRef;
var elPlaceHolder = htOptions.elPlaceHolder;
var sSkinURI = htOptions.sSkinURI;
var fCreator = htOptions.fCreator;
var fOnAppLoad = htOptions.fOnAppLoad;
var bUseBlocker = htOptions.bUseBlocker;
var htParams = htOptions.htParams || null;
}else{
// for backward compatibility only
var oAppRef = arguments[0];
var elPlaceHolder = arguments[1];
var sSkinURI = arguments[2];
var fCreator = arguments[3];
var fOnAppLoad = arguments[4];
var bUseBlocker = arguments[5];
var htParams = arguments[6];
}
if(bUseBlocker) nhn.husky.EZCreator.showBlocker();
var attachEvent = function(elNode, sEvent, fHandler){
if(elNode.addEventListener){
elNode.addEventListener(sEvent, fHandler, false);
}else{
elNode.attachEvent("on"+sEvent, fHandler);
}
}
if(!elPlaceHolder){
alert("Placeholder is required!");
return;
}
if(typeof(elPlaceHolder) != "object")
elPlaceHolder = document.getElementById(elPlaceHolder);
var elIFrame, nEditorWidth, nEditorHeight;
try{
elIFrame = document.createElement("<IFRAME frameborder=0 scrolling=no>");
}catch(e){
elIFrame = document.createElement("IFRAME");
elIFrame.setAttribute("frameborder", "0");
elIFrame.setAttribute("scrolling", "no");
}
elIFrame.style.width = "1px";
elIFrame.style.height = "1px";
elPlaceHolder.parentNode.insertBefore(elIFrame, elPlaceHolder.nextSibling);
attachEvent(elIFrame, "load", function(){
fCreator = elIFrame.contentWindow[fCreator] || elIFrame.contentWindow.createSEditor2;
// top.document.title = ((new Date())-window.STime);
// window.STime = new Date();
try{
nEditorWidth = elIFrame.contentWindow.document.body.scrollWidth || "500px";
nEditorHeight = elIFrame.contentWindow.document.body.scrollHeight + 12;
elIFrame.style.width = "100%";
elIFrame.style.height = nEditorHeight+ "px";
elIFrame.contentWindow.document.body.style.margin = "0";
}catch(e){
nhn.husky.EZCreator.hideBlocker(true);
elIFrame.style.border = "5px solid red";
elIFrame.style.width = "500px";
elIFrame.style.height = "500px";
alert("Failed to access "+sSkinURI);
return;
}
var oApp = fCreator(elPlaceHolder, htParams); // oEditor
oApp.elPlaceHolder = elPlaceHolder;
oAppRef[oAppRef.length] = oApp;
if(!oAppRef.getById) oAppRef.getById = {};
if(elPlaceHolder.id) oAppRef.getById[elPlaceHolder.id] = oApp;
oApp.run({fnOnAppReady:fOnAppLoad});
// top.document.title += ", "+((new Date())-window.STime);
nhn.husky.EZCreator.hideBlocker();
});
// window.STime = new Date();
elIFrame.src = sSkinURI;
};
this.showBlocker = function(){
if(this.nBlockerCount<1){
var elBlocker = document.createElement("DIV");
elBlocker.style.position = "absolute";
elBlocker.style.top = 0;
elBlocker.style.left = 0;
elBlocker.style.backgroundColor = "#FFFFFF";
elBlocker.style.width = "100%";
document.body.appendChild(elBlocker);
nhn.husky.EZCreator.elBlocker = elBlocker;
}
nhn.husky.EZCreator.elBlocker.style.height = Math.max(document.body.scrollHeight, document.body.clientHeight)+"px";
this.nBlockerCount++;
};
this.hideBlocker = function(bForce){
if(!bForce){
if(--this.nBlockerCount > 0) return;
}
this.nBlockerCount = 0;
if(nhn.husky.EZCreator.elBlocker) nhn.husky.EZCreator.elBlocker.style.display = "none";
}
})();

@ -0,0 +1,52 @@
/*
* Smart Editor 2 Configuration : This setting must be changed by service
*/
window.nhn = window.nhn || {};
nhn.husky = nhn.husky || {};
nhn.husky.SE2M_Configuration = nhn.husky.SE2M_Configuration || {};
nhn.husky.SE2M_Configuration.Quote = {
sImageBaseURL : 'http://static.se2.naver.com/static/img'
};
nhn.husky.SE2M_Configuration.CustomObject = {
sVersion : 1,
sClassName : '__se_object',
sValueName : 'jsonvalue',
sTagIdPrefix : 'se_object_',
sTailComment : '<!--__se_object_end -->',
sBlankTemplateURL : nhn.husky.SE2M_Configuration.LinkageDomain.sCommonStatic + '/static/db_attach/iframe_template_for_se1_obj.html',
sAttributeOfEmpty : 's_isempty="true"',
sAttributeOfOldDB : 's_olddb="true"',
sBlock : '<div class="_block" style="position:absolute;z-index:10000;background-color:#fff;"></div>',
sBlockTemplate : '<div[\\s\\S]*?class=[\'"]?_block[\'"]?[\\s\\S]*?</div>',
sHighlight : '<div class="_highlight" style="position:absolute;width:58px;height:16px;line-height:0;z-index:9999"><img src="' + nhn.husky.SE2M_Configuration.LinkageDomain.sCommonStatic + '/static/img/pencil2.png" alt="" width="58" height="16" style="vertical-align:top"></div>',
sHighlightTemplate : '<div[\\s\\S]*?class=[\'"]?_highlight[\'"]?[\\s\\S]*?</div>',
sHtmlTemplateStartTag : '<!-- se_object_template_start -->',
sHtmlTemplateEndTag : '<!-- se_object_template_end -->',
sHtmlFilterTag : '{=sType}_{=sSubType}_{=nSeq}',
sTplHtmlFilterTag : '<!--{=sType}_{=sSubType}_(\\d+)-->',
sImgComServerPath : nhn.husky.SE2M_Configuration.LinkageDomain.sCommonStatic + '/static/img/reviewitem',
nMaxWidth : 548
};
nhn.husky.SE2M_Configuration.SE2M_ReEditAction = {
bUsed : true,
nSecDisplayDulationReEditMsg : 3,
aReEditGuideMsg : [
'이미지 파일은 1회 클릭 시 크기 조절, 더블클릭 시 재편집이 가능합니다.',
'첨부한 파일을 더블클릭 시 재편집이 가능합니다.',
'첨부한 글양식 테이블을 드래그시 테이블 재편집이 가능합니다.',
'첨부한 표를 드래그 시 표 재편집이 가능합니다.'
]
};
nhn.husky.SE2M_Configuration.SE2M_ColorPalette = {
bUseRecentColor : false
};
nhn.husky.SE2M_Configuration.QuickEditor = {
common : {
bUseConfig : false
}
};

@ -0,0 +1,64 @@
/*
* Smart Editor 2 Configuration : This setting must be changed by service
*/
window.nhn = window.nhn || {};
nhn.husky = nhn.husky || {};
nhn.husky.SE2M_Configuration = nhn.husky.SE2M_Configuration || {};
/**
* 스마트에디터2에서 접근하는 JS, IMG 디렉토리
*/
nhn.husky.SE2M_Configuration.Editor = {
sJsBaseURL : './js_src',
sImageBaseURL : './img/'
};
/**
* JS LazyLoad를 위한 경로
*/
nhn.husky.SE2M_Configuration.LazyLoad = {
sJsBaseURI : "js_lazyload"
};
/**
* CSS LazyLoad를 위한 경로
*/
nhn.husky.SE2M_Configuration.SE2B_CSSLoader = {
sCSSBaseURI : "css"
};
/**
* 편집영역 설정
*/
nhn.husky.SE2M_Configuration.SE_EditingAreaManager = {
sCSSBaseURI : "css",
sBlankPageURL : "smart_editor2_inputarea.html",
sBlankPageURL_EmulateIE7 : "smart_editor2_inputarea_ie8.html",
aAddtionalEmulateIE7 : [] // IE8 default 사용, IE9 ~ 선택적 사용
};
/**
* 스마트에디터2에서 사용하는 도메인 정보
* http://wiki.nhncorp.com/pages/viewpage.action?pageId=74253685
*/
nhn.husky.SE2M_Configuration.LinkageDomain = {
sCommonAPI : 'http://api.se2.naver.com',
sCommonStatic : 'http://static.se2.naver.com',
sCommonImage : 'http://images.se2.naver.com'
};
/**
* [웹접근성]
* 단축키 ALT+, ALT+. 이용하여 스마트에디터 영역의 이전/이후 요소로 이동할 있다.
* sBeforeElementId : 스마트에디터 영역 이전 요소의 id
* sNextElementId : 스마트에디터 영역 이후 요소의 id
*
* 스마트에디터 영역 이외의 제목 영역 (:스마트에디터가 적용된 블로그 쓰기 페이지에서의 제목 영역) 해당하는 엘리먼트에서 Tab키를 누르면 에디팅 영역으로 포커스를 이동시킬 있다.
* sTitleElementId : 제목에 해당하는 input 요소의 id.
*/
nhn.husky.SE2M_Configuration.SE2M_Accessibility = {
sBeforeElementId : '',
sNextElementId : '',
sTitleElementId : ''
};

@ -0,0 +1,92 @@
function createSEditor2(elIRField, htParams, elSeAppContainer){
if(!window.$Jindo){
parent.document.body.innerHTML="진도 프레임웍이 필요합니다.<br>\n<a href='http://dev.naver.com/projects/jindo/download'>http://dev.naver.com/projects/jindo/download</a>에서 Jindo 1.5.3 버전의 jindo.min.js를 다운로드 받아 /js 폴더에 복사 해 주세요.\n(아직 Jindo 2 는 지원하지 않습니다.)";
return;
}
var elAppContainer = (elSeAppContainer || jindo.$("smart_editor2"));
var elEditingArea = jindo.$$.getSingle("DIV.husky_seditor_editing_area_container", elAppContainer);
var oWYSIWYGIFrame = jindo.$$.getSingle("IFRAME.se2_input_wysiwyg", elEditingArea);
var oIRTextarea = elIRField?elIRField:jindo.$$.getSingle("TEXTAREA.blind", elEditingArea);
var oHTMLSrc = jindo.$$.getSingle("TEXTAREA.se2_input_htmlsrc", elEditingArea);
var oTextArea = jindo.$$.getSingle("TEXTAREA.se2_input_text", elEditingArea);
var sEditorMode = "open";
if(!htParams){
htParams = {};
htParams.fOnBeforeUnload = null;
}
htParams.elAppContainer = elAppContainer; // 에디터 UI 최상위 element 셋팅
htParams.oNavigator = jindo.$Agent().navigator(); // navigator 객체 셋팅
var oEditor = new nhn.husky.HuskyCore(htParams);
oEditor.registerPlugin(new nhn.husky.CorePlugin(htParams?htParams.fOnAppLoad:null));
oEditor.registerPlugin(new nhn.husky.StringConverterManager());
var htDimension = {
nMinHeight:205,
nMinWidth:parseInt(elIRField.style.minWidth, 10)||570,
nHeight:elIRField.style.height||elIRField.offsetHeight,
nWidth:elIRField.style.width||elIRField.offsetWidth
};
var htConversionMode = {
bUseVerticalResizer : htParams.bUseVerticalResizer,
bUseModeChanger : htParams.bUseModeChanger
};
oEditor.registerPlugin(new nhn.husky.SE_EditingAreaManager("WYSIWYG", oIRTextarea, htDimension, htParams.fOnBeforeUnload, elAppContainer));
oEditor.registerPlugin(new nhn.husky.SE_EditingArea_WYSIWYG(oWYSIWYGIFrame)); // Tab Editor 모드
oEditor.registerPlugin(new nhn.husky.SE_EditingArea_HTMLSrc(oHTMLSrc)); // Tab HTML 모드
oEditor.registerPlugin(new nhn.husky.SE_EditingArea_TEXT(oTextArea)); // Tab Text 모드
oEditor.registerPlugin(new nhn.husky.SE2M_EditingModeChanger(elAppContainer, htConversionMode)); // 모드간 변경(Editor, HTML, Text)
oEditor.registerPlugin(new nhn.husky.HuskyRangeManager(oWYSIWYGIFrame));
oEditor.registerPlugin(new nhn.husky.Utils());
oEditor.registerPlugin(new nhn.husky.SE2M_UtilPlugin());
oEditor.registerPlugin(new nhn.husky.SE_WYSIWYGStyler());
oEditor.registerPlugin(new nhn.husky.SE2M_Toolbar(elAppContainer));
oEditor.registerPlugin(new nhn.husky.Hotkey()); // 단축키
oEditor.registerPlugin(new nhn.husky.SE_EditingAreaVerticalResizer(elAppContainer, htConversionMode)); // 편집영역 리사이즈
oEditor.registerPlugin(new nhn.husky.DialogLayerManager());
oEditor.registerPlugin(new nhn.husky.ActiveLayerManager());
oEditor.registerPlugin(new nhn.husky.SE_WYSIWYGStyleGetter()); // 커서 위치 스타일 정보 가져오기
oEditor.registerPlugin(new nhn.husky.SE2B_Customize_ToolBar(elAppContainer)); // 상단 툴바 (Basic)
oEditor.registerPlugin(new nhn.husky.SE_WYSIWYGEnterKey("P")); // 엔터 시 처리, 현재는 P로 처리
oEditor.registerPlugin(new nhn.husky.SE2M_ColorPalette(elAppContainer)); // 색상 팔레트
oEditor.registerPlugin(new nhn.husky.SE2M_FontColor(elAppContainer)); // 글자색
oEditor.registerPlugin(new nhn.husky.SE2M_BGColor(elAppContainer)); // 글자배경색
oEditor.registerPlugin(new nhn.husky.SE2M_FontNameWithLayerUI(elAppContainer)); // 글꼴종류
oEditor.registerPlugin(new nhn.husky.SE2M_FontSizeWithLayerUI(elAppContainer)); // 글꼴크기
oEditor.registerPlugin(new nhn.husky.SE2M_LineStyler());
oEditor.registerPlugin(new nhn.husky.SE2M_ExecCommand(oWYSIWYGIFrame));
oEditor.registerPlugin(new nhn.husky.SE2M_LineHeightWithLayerUI(elAppContainer)); // 줄간격
oEditor.registerPlugin(new nhn.husky.SE2M_Quote(elAppContainer)); // 인용구
oEditor.registerPlugin(new nhn.husky.SE2M_Hyperlink(elAppContainer)); // 링크
oEditor.registerPlugin(new nhn.husky.SE2M_SCharacter(elAppContainer)); // 특수문자
oEditor.registerPlugin(new nhn.husky.SE2M_FindReplacePlugin(elAppContainer)); // 찾기/바꾸기
oEditor.registerPlugin(new nhn.husky.SE2M_TableCreator(elAppContainer)); // 테이블 생성
oEditor.registerPlugin(new nhn.husky.SE2M_TableEditor(elAppContainer)); // 테이블 편집
oEditor.registerPlugin(new nhn.husky.SE2M_TableBlockStyler(elAppContainer)); // 테이블 스타일
oEditor.registerPlugin(new nhn.husky.SE2M_AttachQuickPhoto(elAppContainer)); // 사진
oEditor.registerPlugin(new nhn.husky.MessageManager(oMessageMap));
oEditor.registerPlugin(new nhn.husky.SE2M_QuickEditor_Common(elAppContainer)); // 퀵에디터 공통(표, 이미지)
if(jindo.$Agent().navigator().ie){
oEditor.registerPlugin(new nhn.husky.SE2M_ImgSizeRatioKeeper()); // 이미지 선택한 이후 마우스로 크기 조정하면 정비율로 변경
}
oEditor.registerPlugin(new nhn.husky.SE2B_CSSLoader()); // CSS lazy load
oEditor.registerPlugin(new nhn.husky.SE_OuterIFrameControl(elAppContainer, 100));
oEditor.registerPlugin(new nhn.husky.SE_ToolbarToggler(elAppContainer, htParams.bUseToolbar));
oEditor.registerPlugin(new nhn.husky.SE2M_Accessibility(elAppContainer)); // 에디터내의 웹접근성 관련 기능모음 플러그인
return oEditor;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,279 @@
/**
* Core_Component (0.3.3)
* Core_UIComponent (0.1.2)
* RolloverArea (0.5.1)
* Calendar (0.4.1)
* LayerManager (0.5.7)
* LayerPosition (0.2.4)
* Timer (0.4.1)
* Transition (0.5.4)
* Effect (0.4)
* FileUploader (0.2.4)
* MultipleAjaxRequest (0.2.1)
* RolloverClick (0.1.3)
* Pagination (0.4.3)
* DatePicker (0.6.3)
* StarRating (0.3.1)
* DragArea (1.0.4)
* DefaultTextValue (0.2.3)
* NumericStepper (0.1)
* LazyLoading (0.1.3)
*/
jindo.Component=jindo.$Class({_htEventHandler:null,_htOption:null,$init:function(){var aInstance=this.constructor.getInstance();aInstance.push(this);this._htEventHandler={};this._htOption={};this._htOption._htSetter={};},option:function(sName,vValue){switch(typeof sName){case"undefined":return this._htOption;case"string":if(typeof vValue!="undefined"){if(sName=="htCustomEventHandler"){if(typeof this._htOption[sName]=="undefined"){this.attach(vValue);}else{return this;}}
this._htOption[sName]=vValue;if(typeof this._htOption._htSetter[sName]=="function"){this._htOption._htSetter[sName](vValue);}}else{return this._htOption[sName];}
break;case"object":for(var sKey in sName){if(sKey=="htCustomEventHandler"){if(typeof this._htOption[sKey]=="undefined"){this.attach(sName[sKey]);}else{continue;}}
this._htOption[sKey]=sName[sKey];if(typeof this._htOption._htSetter[sKey]=="function"){this._htOption._htSetter[sKey](sName[sKey]);}}
break;}
return this;},optionSetter:function(sName,fSetter){switch(typeof sName){case"undefined":return this._htOption._htSetter;case"string":if(typeof fSetter!="undefined"){this._htOption._htSetter[sName]=jindo.$Fn(fSetter,this).bind();}else{return this._htOption._htSetter[sName];}
break;case"object":for(var sKey in sName){this._htOption._htSetter[sKey]=jindo.$Fn(sName[sKey],this).bind();}
break;}
return this;},fireEvent:function(sEvent,oEvent){oEvent=oEvent||{};var fInlineHandler=this['on'+sEvent],aHandlerList=this._htEventHandler[sEvent]||[],bHasInlineHandler=typeof fInlineHandler=="function",bHasHandlerList=aHandlerList.length>0;if(!bHasInlineHandler&&!bHasHandlerList){return true;}
aHandlerList=aHandlerList.concat();oEvent.sType=sEvent;if(typeof oEvent._aExtend=='undefined'){oEvent._aExtend=[];oEvent.stop=function(){if(oEvent._aExtend.length>0){oEvent._aExtend[oEvent._aExtend.length-1].bCanceled=true;}};}
oEvent._aExtend.push({sType:sEvent,bCanceled:false});var aArg=[oEvent],i,nLen;for(i=2,nLen=arguments.length;i<nLen;i++){aArg.push(arguments[i]);}
if(bHasInlineHandler){fInlineHandler.apply(this,aArg);}
if(bHasHandlerList){var fHandler;for(i=0,fHandler;(fHandler=aHandlerList[i]);i++){fHandler.apply(this,aArg);}}
return!oEvent._aExtend.pop().bCanceled;},attach:function(sEvent,fHandlerToAttach){if(arguments.length==1){jindo.$H(arguments[0]).forEach(jindo.$Fn(function(fHandler,sEvent){this.attach(sEvent,fHandler);},this).bind());return this;}
var aHandler=this._htEventHandler[sEvent];if(typeof aHandler=='undefined'){aHandler=this._htEventHandler[sEvent]=[];}
aHandler.push(fHandlerToAttach);return this;},detach:function(sEvent,fHandlerToDetach){if(arguments.length==1){jindo.$H(arguments[0]).forEach(jindo.$Fn(function(fHandler,sEvent){this.detach(sEvent,fHandler);},this).bind());return this;}
var aHandler=this._htEventHandler[sEvent];if(aHandler){for(var i=0,fHandler;(fHandler=aHandler[i]);i++){if(fHandler===fHandlerToDetach){aHandler=aHandler.splice(i,1);break;}}}
return this;},detachAll:function(sEvent){var aHandler=this._htEventHandler;if(arguments.length){if(typeof aHandler[sEvent]=='undefined'){return this;}
delete aHandler[sEvent];return this;}
for(var o in aHandler){delete aHandler[o];}
return this;}});jindo.Component.factory=function(aObject,oOption){var aReturn=[],oInstance;if(typeof oOption=="undefined"){oOption={};}
for(var i=0,el;(el=aObject[i]);i++){oInstance=new this(el,oOption);aReturn[aReturn.length]=oInstance;}
return aReturn;};jindo.Component.getInstance=function(){if(typeof this._aInstance=="undefined"){this._aInstance=[];}
return this._aInstance;};jindo.UIComponent=jindo.$Class({$init:function(){this._bIsActivating=false;},isActivating:function(){return this._bIsActivating;},activate:function(){if(this.isActivating()){return this;}
this._bIsActivating=true;if(arguments.length>0){this._onActivate.apply(this,arguments);}else{this._onActivate();}
return this;},deactivate:function(){if(!this.isActivating()){return this;}
this._bIsActivating=false;if(arguments.length>0){this._onDeactivate.apply(this,arguments);}else{this._onDeactivate();}
return this;}}).extend(jindo.Component);jindo.RolloverArea=jindo.$Class({$init:function(el,htOption){this.option({sClassName:"rollover",sClassPrefix:"rollover-",bCheckMouseDown:true,bActivateOnload:true,htStatus:{sOver:"over",sDown:"down"}});this.option(htOption||{});this._elArea=jindo.$(el);this._aOveredElements=[];this._aDownedElements=[];this._wfMouseOver=jindo.$Fn(this._onMouseOver,this);this._wfMouseOut=jindo.$Fn(this._onMouseOut,this);this._wfMouseDown=jindo.$Fn(this._onMouseDown,this);this._wfMouseUp=jindo.$Fn(this._onMouseUp,this);if(this.option("bActivateOnload")){this.activate();}},_addOvered:function(el){this._aOveredElements.push(el);},_removeOvered:function(el){this._aOveredElements.splice(jindo.$A(this._aOveredElements).indexOf(el),1);},_addStatus:function(el,sStatus){jindo.$Element(el).addClass(this.option('sClassPrefix')+sStatus);},_removeStatus:function(el,sStatus){jindo.$Element(el).removeClass(this.option('sClassPrefix')+sStatus);},_isInnerElement:function(elParent,elChild){return elParent===elChild?true:jindo.$Element(elParent).isParentOf(elChild);},_onActivate:function(){this._wfMouseOver.attach(this._elArea,'mouseover');this._wfMouseOut.attach(this._elArea,'mouseout');if(this.option("bCheckMouseDown")){this._wfMouseDown.attach(this._elArea,'mousedown');this._wfMouseUp.attach(document,'mouseup');}},_onDeactivate:function(){this._wfMouseOver.detach(this._elArea,'mouseover');this._wfMouseOut.detach(this._elArea,'mouseout');this._wfMouseDown.detach(this._elArea,'mousedown');this._wfMouseUp.detach(document,'mouseup');this._aOveredElements.length=0;this._aDownedElements.length=0;},_findRollover:function(el){var sClassName=this.option('sClassName');return jindo.$$.test(el,'.'+sClassName)?el:jindo.$$.getSingle('! .'+sClassName,el);},_onMouseOver:function(we){var el=we.element,elRelated=we.relatedElement,htParam;for(;el=this._findRollover(el);el=el.parentNode){if(elRelated&&this._isInnerElement(el,elRelated)){continue;}
this._addOvered(el);htParam={element:el,htStatus:this.option("htStatus"),weEvent:we};if(this.fireEvent('over',htParam)){this._addStatus(htParam.element,htParam.htStatus.sOver);}}},_onMouseOut:function(we){var el=we.element,elRelated=we.relatedElement,htParam;for(;el=this._findRollover(el);el=el.parentNode){if(elRelated&&this._isInnerElement(el,elRelated)){continue;}
this._removeOvered(el);htParam={element:el,htStatus:this.option("htStatus"),weEvent:we};if(this.fireEvent('out',htParam)){this._removeStatus(htParam.element,htParam.htStatus.sOver);}}},_onMouseDown:function(we){var el=we.element,htParam;while(el=this._findRollover(el)){htParam={element:el,htStatus:this.option("htStatus"),weEvent:we};this._aDownedElements.push(el);if(this.fireEvent('down',htParam)){this._addStatus(htParam.element,htParam.htStatus.sDown);}
el=el.parentNode;}},_onMouseUp:function(we){var el=we.element,aTargetElementDatas=[],aDownedElements=this._aDownedElements,htParam,elMouseDown,i;for(i=0;elMouseDown=aDownedElements[i];i++){aTargetElementDatas.push({element:elMouseDown,htStatus:this.option("htStatus"),weEvent:we});}
for(;el=this._findRollover(el);el=el.parentNode){if(jindo.$A(aDownedElements).indexOf(el)>-1){continue;}
aTargetElementDatas.push({element:el,htStatus:this.option("htStatus"),weEvent:we});}
for(i=0;htParam=aTargetElementDatas[i];i++){if(this.fireEvent('up',htParam)){this._removeStatus(htParam.element,htParam.htStatus.sDown);}}
this._aDownedElements=[];}}).extend(jindo.UIComponent);jindo.Calendar=jindo.$Class({$init:function(sLayerId,htOption){this._htToday=this.constructor.getDateHashTable(new Date());this._elLayer=jindo.$(sLayerId);this.htDefaultOption={sClassPrefix:"calendar-",nYear:this._htToday.nYear,nMonth:this._htToday.nMonth,nDate:this._htToday.nDate,sTitleFormat:"yyyy-mm",sYearTitleFormat:"yyyy",sMonthTitleFormat:"m",aMonthTitle:["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"],bDrawOnload:true};this.option(this.htDefaultOption);this.option(htOption||{});this._assignHTMLElements();this.activate();this.setDate(this.option("nYear"),this.option("nMonth"),this.option("nDate"));if(this.option("bDrawOnload")){this.draw();}},getBaseElement:function(){return this._elLayer;},getDate:function(){return this._htDate;},getDateOfElement:function(el){var nDateIndex=jindo.$A(this._aDateContainerElement).indexOf(el);if(nDateIndex>-1){return this._aMetaData[nDateIndex];}
return null;},getToday:function(){return this._htToday;},setDate:function(nYear,nMonth,nDate){this._htDate={nYear:nYear,nMonth:(nMonth*1),nDate:(nDate*1)};},getShownDate:function(){return this._getShownDate();},_getShownDate:function(){return this.htShownDate||this.getDate();},_setShownDate:function(nYear,nMonth){this.htShownDate={nYear:nYear,nMonth:(nMonth*1),nDate:1};},_assignHTMLElements:function(){var sClassPrefix=this.option("sClassPrefix"),elLayer=this.getBaseElement();if((this.elBtnPrevYear=jindo.$$.getSingle(("."+sClassPrefix+"btn-prev-year"),elLayer))){this.wfPrevYear=jindo.$Fn(function(oEvent){oEvent.stop(jindo.$Event.CANCEL_DEFAULT);this.draw(-1,0,true);},this);}
if((this.elBtnPrevMonth=jindo.$$.getSingle(("."+sClassPrefix+"btn-prev-mon"),elLayer))){this.wfPrevMonth=jindo.$Fn(function(oEvent){oEvent.stop(jindo.$Event.CANCEL_DEFAULT);this.draw(0,-1,true);},this);}
if((this.elBtnNextMonth=jindo.$$.getSingle(("."+sClassPrefix+"btn-next-mon"),elLayer))){this.wfNextMonth=jindo.$Fn(function(oEvent){oEvent.stop(jindo.$Event.CANCEL_DEFAULT);this.draw(0,1,true);},this);}
if((this.elBtnNextYear=jindo.$$.getSingle(("."+sClassPrefix+"btn-next-year"),elLayer))){this.wfNextYear=jindo.$Fn(function(oEvent){oEvent.stop(jindo.$Event.CANCEL_DEFAULT);this.draw(1,0,true);},this);}
this.elTitle=jindo.$$.getSingle(("."+sClassPrefix+"title"),elLayer);this.elTitleYear=jindo.$$.getSingle(("."+sClassPrefix+"title-year"),elLayer);this.elTitleMonth=jindo.$$.getSingle(("."+sClassPrefix+"title-month"),elLayer);var elWeekTemplate=jindo.$$.getSingle("."+sClassPrefix+"week",elLayer);this.elWeekTemplate=elWeekTemplate.cloneNode(true);this.elWeekAppendTarget=elWeekTemplate.parentNode;},_setCalendarTitle:function(nYear,nMonth,sType){if(nMonth<10){nMonth=("0"+(nMonth*1)).toString();}
var elTitle=this.elTitle,sTitleFormat=this.option("sTitleFormat"),sTitle;if(typeof sType!="undefined"){switch(sType){case"year":elTitle=this.elTitleYear;sTitleFormat=this.option("sYearTitleFormat");sTitle=sTitleFormat.replace(/yyyy/g,nYear).replace(/y/g,(nYear).toString().substr(2,2));break;case"month":elTitle=this.elTitleMonth;sTitleFormat=this.option("sMonthTitleFormat");sTitle=sTitleFormat.replace(/mm/g,nMonth).replace(/m/g,(nMonth*1)).replace(/M/g,this.option("aMonthTitle")[nMonth-1]);break;}}else{sTitle=sTitleFormat.replace(/yyyy/g,nYear).replace(/y/g,(nYear).toString().substr(2,2)).replace(/mm/g,nMonth).replace(/m/g,(nMonth*1)).replace(/M/g,this.option("aMonthTitle")[nMonth-1]);}
jindo.$Element(elTitle).text(sTitle);},draw:function(nYear,nMonth,bRelative){var sClassPrefix=this.option("sClassPrefix"),htDate=this.getDate(),oShownDate=this._getShownDate();if(oShownDate&&typeof bRelative!="undefined"&&bRelative){var htRelativeDate=this.constructor.getRelativeDate(nYear,nMonth,0,oShownDate);nYear=htRelativeDate.nYear;nMonth=htRelativeDate.nMonth;}else if(typeof nYear=="undefined"&&typeof nMonth=="undefined"&&typeof bRelative=="undefined"){nYear=htDate.nYear;nMonth=htDate.nMonth;}else{nYear=nYear||oShownDate.nYear;nMonth=nMonth||oShownDate.nMonth;}
if(this.fireEvent("beforeDraw",{nYear:nYear,nMonth:nMonth})){if(this.elTitle){this._setCalendarTitle(nYear,nMonth);}
if(this.elTitleYear){this._setCalendarTitle(nYear,nMonth,"year");}
if(this.elTitleMonth){this._setCalendarTitle(nYear,nMonth,"month");}
this._clear(jindo.Calendar.getWeeks(nYear,nMonth));this._setShownDate(nYear,nMonth);var htToday=this.getToday(),nFirstDay=this.constructor.getFirstDay(nYear,nMonth),nLastDay=this.constructor.getLastDay(nYear,nMonth),nLastDate=this.constructor.getLastDate(nYear,nMonth),nDay=0,htDatePrevMonth=this.constructor.getRelativeDate(0,-1,0,{nYear:nYear,nMonth:nMonth,nDate:1}),htDateNextMonth=this.constructor.getRelativeDate(0,1,0,{nYear:nYear,nMonth:nMonth,nDate:1}),nPrevMonthLastDate=this.constructor.getLastDate(htDatePrevMonth.nYear,htDatePrevMonth.nMonth),aDate=[],bPrevMonth,bNextMonth,welDateContainer,nTempYear,nTempMonth,oParam,nIndexOfLastDate,elWeek,i;var nWeeks=this.constructor.getWeeks(nYear,nMonth);for(i=0;i<nWeeks;i++){elWeek=this.elWeekTemplate.cloneNode(true);jindo.$Element(elWeek).appendTo(this.elWeekAppendTarget);this._aWeekElement.push(elWeek);}
this._aDateElement=jindo.$$("."+sClassPrefix+"date",this.elWeekAppendTarget);this._aDateContainerElement=jindo.$$("."+sClassPrefix+"week > *",this.elWeekAppendTarget);if(nFirstDay>0){for(i=nPrevMonthLastDate-nFirstDay;i<nPrevMonthLastDate;i++){aDate.push(i+1);}}
for(i=1;i<nLastDate+1;i++){aDate.push(i);}
nIndexOfLastDate=aDate.length-1;for(i=1;i<7-nLastDay;i++){aDate.push(i);}
for(i=0;i<aDate.length;i++){bPrevMonth=false;bNextMonth=false;welDateContainer=jindo.$Element(this._aDateContainerElement[i]);nTempYear=nYear;nTempMonth=nMonth;if(i<nFirstDay){bPrevMonth=true;welDateContainer.addClass(sClassPrefix+"prev-mon");nTempYear=htDatePrevMonth.nYear;nTempMonth=htDatePrevMonth.nMonth;}else if(i>nIndexOfLastDate){bNextMonth=true;welDateContainer.addClass(sClassPrefix+"next-mon");nTempYear=htDateNextMonth.nYear;nTempMonth=htDateNextMonth.nMonth;}else{nTempYear=nYear;nTempMonth=nMonth;}
if(nDay===0){welDateContainer.addClass(sClassPrefix+"sun");}
if(nDay==6){welDateContainer.addClass(sClassPrefix+"sat");}
if(nTempYear==htToday.nYear&&(nTempMonth*1)==htToday.nMonth&&aDate[i]==htToday.nDate){welDateContainer.addClass(sClassPrefix+"today");}
oParam={elDate:this._aDateElement[i],elDateContainer:welDateContainer.$value(),nYear:nTempYear,nMonth:nTempMonth,nDate:aDate[i],bPrevMonth:bPrevMonth,bNextMonth:bNextMonth,sHTML:aDate[i]};jindo.$Element(oParam.elDate).html(oParam.sHTML.toString());this._aMetaData.push({nYear:nTempYear,nMonth:nTempMonth,nDate:aDate[i]});nDay=(nDay+1)%7;this.fireEvent("draw",oParam);}
this.fireEvent("afterDraw",{nYear:nYear,nMonth:nMonth});}},_clear:function(nWeek){this._aMetaData=[];this._aWeekElement=[];jindo.$Element(this.elWeekAppendTarget).empty();},attachEvent:function(){this.activate();},detachEvent:function(){this.deactivate();},_onActivate:function(){if(this.elBtnPrevYear){this.wfPrevYear.attach(this.elBtnPrevYear,"click");}
if(this.elBtnPrevMonth){this.wfPrevMonth.attach(this.elBtnPrevMonth,"click");}
if(this.elBtnNextMonth){this.wfNextMonth.attach(this.elBtnNextMonth,"click");}
if(this.elBtnNextYear){this.wfNextYear.attach(this.elBtnNextYear,"click");}},_onDeactivate:function(){if(this.elBtnPrevYear){this.wfPrevYear.detach(this.elBtnPrevYear,"click");}
if(this.elBtnPrevMonth){this.wfPrevMonth.detach(this.elBtnPrevMonth,"click");}
if(this.elBtnNextMonth){this.wfNextMonth.detach(this.elBtnNextMonth,"click");}
if(this.elBtnNextYear){this.wfNextYear.detach(this.elBtnNextYear,"click");}}}).extend(jindo.UIComponent);jindo.Calendar.getDateObject=function(htDate){if(arguments.length==3){return new Date(arguments[0],arguments[1]-1,arguments[2]);}
return new Date(htDate.nYear,htDate.nMonth-1,htDate.nDate);};jindo.Calendar.getDateHashTable=function(oDate){if(arguments.length==3){return{nYear:arguments[0],nMonth:arguments[1],nDate:arguments[2]};}
if(arguments.length<=1){oDate=oDate||new Date();}
return{nYear:oDate.getFullYear(),nMonth:oDate.getMonth()+1,nDate:oDate.getDate()};};jindo.Calendar.getTime=function(htDate){return this.getDateObject(htDate).getTime();};jindo.Calendar.getFirstDay=function(nYear,nMonth){return new Date(nYear,nMonth-1,1).getDay();};jindo.Calendar.getLastDay=function(nYear,nMonth){return new Date(nYear,nMonth,0).getDay();};jindo.Calendar.getLastDate=function(nYear,nMonth){return new Date(nYear,nMonth,0).getDate();};jindo.Calendar.getWeeks=function(nYear,nMonth){var nFirstDay=this.getFirstDay(nYear,nMonth),nLastDate=this.getLastDate(nYear,nMonth);return Math.ceil((nFirstDay+nLastDate)/7);};jindo.Calendar.getRelativeDate=function(nYear,nMonth,nDate,htDate){return this.getDateHashTable(new Date(htDate.nYear+nYear,htDate.nMonth+nMonth-1,htDate.nDate+nDate));};jindo.Calendar.isPast=function(htDate,htComparisonDate){if(this.getTime(htDate)<this.getTime(htComparisonDate)){return true;}
return false;};jindo.Calendar.isFuture=function(htDate,htComparisonDate){if(this.getTime(htDate)>this.getTime(htComparisonDate)){return true;}
return false;};jindo.Calendar.isSameDate=function(htDate,htComparisonDate){if(this.getTime(htDate)==this.getTime(htComparisonDate)){return true;}
return false;};jindo.Calendar.isBetween=function(htDate,htFrom,htTo){if(this.isFuture(htDate,htTo)||this.isPast(htDate,htFrom)){return false;}else{return true;}};jindo.LayerManager=jindo.$Class({_bIsActivating:false,_bIsLayerVisible:false,_bIsHiding:false,_bIsShowing:false,_aLink:null,$init:function(el,htOption){this.option({sCheckEvent:"click",nCheckDelay:100,nShowDelay:0,nHideDelay:100,sMethod:"show",nDuration:200,Transition:{fFadeIn:jindo.Effect.cubicEaseOut,fFadeOut:jindo.Effect.cubicEaseIn,fSlideDown:jindo.Effect.cubicEaseOut,fSlideUp:jindo.Effect.cubicEaseIn}});this.option(htOption||{});this.setLayer(el);this._aLink=[];this._oShowTimer=new jindo.Timer();this._oHideTimer=new jindo.Timer();this._oEventTimer=new jindo.Timer();this._wfOnEvent=jindo.$Fn(this._onEvent,this);this.getVisible();this.activate();},_onActivate:function(){this._wfOnEvent.attach(document,this.option("sCheckEvent"));},_onDeactivate:function(){this._wfOnEvent.detach(document,this.option("sCheckEvent"));},getVisible:function(){return this._bIsLayerVisible=(this._wel.visible()&&this._wel.opacity()>0);},_check:function(el){var wel=jindo.$Element(el);for(var i=0,elLink;elLink=this._aLink[i];i++){elLink=jindo.$Element(elLink).$value();if(elLink&&(el==elLink||wel.isChildOf(elLink))){return true;}}
return false;},_find:function(el){for(var i=0,elLink;(elLink=this._aLink[i]);i++){if(elLink==el){return i;}}
return-1;},getLayer:function(){return this._el;},setLayer:function(el){this._el=jindo.$(el);this._wel=jindo.$Element(el);var elToMeasure=this._el.cloneNode(true);var welToMeasure=jindo.$Element(elToMeasure);welToMeasure.css({position:"absolute",left:"-5000px"}).appendTo(this._el.parentNode);welToMeasure.show();this._nLayerHeight=welToMeasure.height();welToMeasure.height(this._nLayerHeight);this._sLayerCSSHeight=welToMeasure.css("height");this._sLayerCSSOverflowX=this._wel.css("overflowX");this._sLayerCSSOverflowY=this._wel.css("overflowY");welToMeasure.css("overflow","hidden").height(0);this._nSlideMinHeight=welToMeasure.height()+1;welToMeasure.leave();return this;},_transform:function(){this._wel.css({"overflowX":"hidden","overflowY":"hidden"});},_restore:function(){this._wel.css({"overflowX":this._sLayerCSSOverflowX,"overflowY":this._sLayerCSSOverflowY});},getLinks:function(){return this._aLink;},setLinks:function(a){this._aLink=jindo.$A(a).unique().$value();return this;},link:function(vElement){if(arguments.length>1){for(var i=0,len=arguments.length;i<len;i++){this.link(arguments[i]);}
return this;}
if(this._find(vElement)!=-1){return this;}
this._aLink.push(vElement);return this;},unlink:function(vElement){if(arguments.length>1){for(var i=0,len=arguments.length;i<len;i++){this.unlink(arguments[i]);}
return this;}
var nIndex=this._find(vElement);if(nIndex>-1){this._aLink.splice(nIndex,1);}
return this;},_fireEventBeforeShow:function(){this._transform();return this.fireEvent("beforeShow",{elLayer:this.getLayer(),aLinkedElement:this.getLinks(),sMethod:this.option("sMethod")});},_fireEventAppear:function(){this.fireEvent("appear",{elLayer:this.getLayer(),aLinkedElement:this.getLinks(),sMethod:this.option("sMethod")});},_fireEventShow:function(){this._bIsShowing=false;this._restore();this.fireEvent("show",{elLayer:this.getLayer(),aLinkedElement:this.getLinks(),sMethod:this.option("sMethod")});},_fireEventBeforeHide:function(){this._transform();return this.fireEvent("beforeHide",{elLayer:this.getLayer(),aLinkedElement:this.getLinks(),sMethod:this.option("sMethod")});},_fireEventHide:function(){this._bIsHiding=false;this._restore();this.fireEvent("hide",{elLayer:this.getLayer(),aLinkedElement:this.getLinks(),sMethod:this.option("sMethod")});},_show:function(fShow,nDelay){this._oEventTimer.abort();this._bIsShowing=true;this._bIsHiding=false;if(nDelay>0){this._oShowTimer.start(fShow,nDelay);}else{this._oHideTimer.abort();fShow();}},_hide:function(fHide,nDelay){this._bIsShowing=false;this._bIsHiding=true;if(nDelay>0){this._oHideTimer.start(fHide,nDelay);}else{this._oShowTimer.abort();fHide();}},_getShowMethod:function(){switch(this.option("sMethod")){case"show":return"showIn";case"fade":return"fadeIn";case"slide":return"slideDown";}},_getHideMethod:function(){switch(this.option("sMethod")){case"show":return"hideOut";case"fade":return"fadeOut";case"slide":return"slideUp";}},show:function(nDelay){if(typeof nDelay=="undefined"){nDelay=this.option("nShowDelay");}
this[this._getShowMethod()](nDelay);return this;},hide:function(nDelay){if(typeof nDelay=="undefined"){nDelay=this.option("nHideDelay");}
this[this._getHideMethod()](nDelay);return this;},showIn:function(nDelay){if(typeof nDelay=="undefined"){nDelay=this.option("nShowDelay");}
var self=this;this._show(function(){self._sAppliedMethod="show";if(!self.getVisible()){if(self._fireEventBeforeShow()){self._wel.show();self._fireEventAppear();self._fireEventShow();}}},nDelay);return this;},hideOut:function(nDelay){if(typeof nDelay=="undefined"){nDelay=this.option("nHideDelay");}
var self=this;this._hide(function(){self._sAppliedMethod="show";if(self.getVisible()){if(self._fireEventBeforeHide()){self._wel.hide();self._fireEventHide();}}},nDelay);return this;},_getTransition:function(){if(this._oTransition){return this._oTransition;}else{return(this._oTransition=new jindo.Transition().fps(30));}},fadeIn:function(nDelay){var oTransition=this._getTransition();oTransition.detachAll().abort();if(typeof nDelay=="undefined"){nDelay=this.option("nShowDelay");}
var nDuration=this.option("nDuration");var self=this;this._show(function(){self._sAppliedMethod="fade";var elLayer=self.getLayer();if(!self._wel.visible()||self._wel.opacity()!=1){if(self._fireEventBeforeShow()){if(!self._wel.visible()){self._wel.opacity(0);self._wel.show();}
nDuration*=(1-self._wel.opacity());oTransition.attach({playing:function(oCustomEvent){if(oCustomEvent.nStep===1){this.detach("playing",arguments.callee);self._fireEventAppear();}},end:function(oCustomEvent){this.detach("end",arguments.callee);self._fireEventShow();}}).start(nDuration,elLayer,{"@opacity":self.option("Transition").fFadeIn.apply(null,[1])});}}},nDelay);return this;},fadeOut:function(nDelay){var oTransition=this._getTransition();oTransition.detachAll().abort();if(typeof nDelay=="undefined"){nDelay=this.option("nHideDelay");}
var nDuration=this.option("nDuration");var self=this;this._hide(function(){self._sAppliedMethod="fade";if(self.getVisible()){var elLayer=self.getLayer();if(self._fireEventBeforeHide()){nDuration*=self._wel.opacity();oTransition.attach({end:function(e){this.detach("end",arguments.callee);self._wel.hide();self._wel.opacity(1);self._fireEventHide();}}).start(nDuration,elLayer,{"@opacity":self.option("Transition").fFadeOut.apply(null,[0])});}}},nDelay);return this;},slideDown:function(nDelay){var oTransition=this._getTransition();oTransition.detachAll().abort();if(typeof nDelay=="undefined"){nDelay=this.option("nShowDelay");}
var nDuration=this.option("nDuration");var self=this;this._show(function(){self._sAppliedMethod="slide";var elLayer=self.getLayer();if(Math.ceil(self._wel.height())<self._nLayerHeight){if(self._fireEventBeforeShow()){if(!self.getVisible()){self._wel.height(0).show();}else{nDuration=Math.ceil(nDuration*((self._nLayerHeight-self._wel.height())/(self._nLayerHeight-self._nSlideMinHeight)));}
oTransition.attach({playing:function(oCustomEvent){if(oCustomEvent.nStep===1){this.detach("playing",arguments.callee);self._fireEventAppear();}},end:function(oCustomEvent){this.detach("end",arguments.callee);self._fireEventShow();}}).start(nDuration,{getter:function(sKey){return jindo.$Element(elLayer)[sKey]()+1;},setter:function(sKey,nValue){jindo.$Element(elLayer)[sKey](parseFloat(nValue));}},{height:self.option("Transition").fSlideDown.apply(null,[self._nLayerHeight])});}}},nDelay);return this;},slideUp:function(nDelay){var oTransition=this._getTransition();oTransition.detachAll().abort();if(typeof nDelay=="undefined"){nDelay=this.option("nHideDelay");}
var nDuration=this.option("nDuration");var self=this;this._hide(function(){self._sAppliedMethod="slide";var elLayer=self.getLayer();if(self.getVisible()){if(self._fireEventBeforeHide()){nDuration=Math.ceil(nDuration*(self._wel.height()/self._nLayerHeight));oTransition.attach({end:function(e){self._wel.hide().css({"height":self._sLayerCSSHeight});this.detach("end",arguments.callee);self._fireEventHide();}}).start(nDuration,{getter:function(sKey){return jindo.$Element(elLayer)[sKey]();},setter:function(sKey,nValue){jindo.$Element(elLayer)[sKey](Math.ceil(nValue));}},{height:self.option("Transition").fSlideUp.apply(null,[self._nSlideMinHeight])});}}},nDelay);return this;},toggle:function(nDelay){if(!this.getVisible()||this._bIsHiding){this.show(nDelay||this.option("nShowDelay"));}else{this.hide(nDelay||this.option("nHideDelay"));}
return this;},_onEvent:function(we){var el=we.element,self=this;this._oEventTimer.start(function(){if(!self._bIsHiding&&self.getVisible()){if(self._check(el)){if(!self._bIsShowing){self.fireEvent("ignore",{sCheckEvent:self.option("sCheckEvent")});self._oHideTimer.abort();self._bIsHiding=false;}}else{if(typeof el.tagName!="undefined"){self.hide();}}}},this.option("nCheckDelay"));}}).extend(jindo.UIComponent);jindo.LayerPosition=jindo.$Class({$init:function(el,elLayer,htOption){this.option({sPosition:"outside-bottom",sAlign:"left",sValign:"",nTop:0,nLeft:0,bAuto:false});this.option(htOption||{});this.setElement(el);if(elLayer){this.setLayer(elLayer);}
if(el&&elLayer){this.setPosition();}
this._wfSetPosition=jindo.$Fn(function(){var el=this._elLayer;if(el&&this._welLayer.visible()){if(this.fireEvent("beforeAdjust",{elLayer:el,htCurrentPosition:this.getCurrentPosition(),htAdjustedPosition:this._adjustPosition(this.getCurrentPosition())})){this.setPosition();this.fireEvent("adjust",{elLayer:el,htCurrentPosition:this.getCurrentPosition()});}}},this);if(this.option("bAuto")){this._wfSetPosition.attach(window,"scroll").attach(window,"resize");}},getElement:function(){return this._el;},setElement:function(el){this._el=jindo.$(el);this._wel=jindo.$Element(el);return this;},getLayer:function(){return this._elLayer;},setLayer:function(elLayer){this._elLayer=jindo.$(elLayer);this._welLayer=jindo.$Element(elLayer);document.body.appendChild(elLayer);return this;},_isPosition:function(htOption,sWord){if(htOption.sPosition.indexOf(sWord)>-1){return true;}
return false;},_setLeftRight:function(htOption,htPosition){var el=this.getElement(),elLayer=this.getLayer(),nWidth=el.offsetWidth,nLayerWidth=elLayer.offsetWidth;if(el==document.body){nWidth=jindo.$Document().clientSize().width;}
var bLeft=this._isPosition(htOption,"left"),bRight=this._isPosition(htOption,"right"),bInside=this._isPosition(htOption,"inside");if(bLeft){if(bInside){htPosition.nLeft+=htOption.nLeft;}else{htPosition.nLeft-=nLayerWidth;htPosition.nLeft-=htOption.nLeft;}}else if(bRight){htPosition.nLeft+=nWidth;if(bInside){htPosition.nLeft-=nLayerWidth;htPosition.nLeft-=htOption.nLeft;}else{htPosition.nLeft+=htOption.nLeft;}}else{if(htOption.sAlign=="left"){htPosition.nLeft+=htOption.nLeft;}
if(htOption.sAlign=="center"){htPosition.nLeft+=(nWidth-nLayerWidth)/2;}
if(htOption.sAlign=="right"){htPosition.nLeft+=nWidth-nLayerWidth;htPosition.nLeft-=htOption.nLeft;}}
return htPosition;},_setVerticalAlign:function(htOption,htPosition){var el=this.getElement(),elLayer=this.getLayer(),nHeight=el.offsetHeight,nLayerHeight=elLayer.offsetHeight;if(el==document.body){nHeight=jindo.$Document().clientSize().height;}
switch(htOption.sValign){case"top":htPosition.nTop+=htOption.nTop;break;case"middle":htPosition.nTop+=(nHeight-nLayerHeight)/2;break;case"bottom":htPosition.nTop+=nHeight-nLayerHeight-htOption.nTop;break;}
return htPosition;},_adjustScrollPosition:function(htPosition){if(this.getElement()==document.body){var htScrollPosition=jindo.$Document().scrollPosition();htPosition.nTop+=htScrollPosition.top;htPosition.nLeft+=htScrollPosition.left;}
return htPosition;},getPosition:function(htOption){if(typeof htOption!="object"){htOption=this.option();}
if(typeof htOption.nTop=="undefined"){htOption.nTop=0;}
if(typeof htOption.nLeft=="undefined"){htOption.nLeft=0;}
var sArea,bCenter=this._isPosition(htOption,"center"),bInside=this._isPosition(htOption,"inside"),bTop=this._isPosition(htOption,"top"),bBottom=this._isPosition(htOption,"bottom"),bLeft=this._isPosition(htOption,"left"),bRight=this._isPosition(htOption,"right");if(bLeft){sArea="left";}
if(bRight){sArea="right";}
if(bTop){sArea="top";}
if(bBottom){sArea="bottom";}
if(bCenter){sArea="center";}
var el=this.getElement(),wel=jindo.$Element(el),elLayer=this.getLayer(),welLayer=jindo.$Element(elLayer),htElementPosition=wel.offset(),nWidth=el.offsetWidth,nHeight=el.offsetHeight,oClientSize,nLayerWidth=elLayer.offsetWidth,nLayerHeight=elLayer.offsetHeight,htPosition={nTop:htElementPosition.top,nLeft:htElementPosition.left};if(el==document.body){oClientSize=jindo.$Document().clientSize();nWidth=oClientSize.width;nHeight=oClientSize.height;}
nLayerWidth+=parseInt(welLayer.css('marginLeft'))+parseInt(welLayer.css('marginRight'))||0;nLayerHeight+=parseInt(welLayer.css('marginTop'))+parseInt(welLayer.css('marginBottom'))||0;switch(sArea){case"center":htPosition.nTop+=(nHeight-nLayerHeight)/2;htPosition.nTop+=htOption.nTop;htPosition.nLeft+=(nWidth-nLayerWidth)/2;htPosition.nLeft+=htOption.nLeft;break;case"top":if(bInside){htPosition.nTop+=htOption.nTop;}else{htPosition.nTop-=htOption.nTop+nLayerHeight;}
htPosition=this._setLeftRight(htOption,htPosition);break;case"bottom":htPosition.nTop+=nHeight;if(bInside){htPosition.nTop-=htOption.nTop+nLayerHeight;}else{htPosition.nTop+=htOption.nTop;}
htPosition=this._setLeftRight(htOption,htPosition);break;case"left":if(bInside){htPosition.nLeft+=htOption.nLeft;}else{htPosition.nLeft-=htOption.nLeft+nLayerWidth;}
htPosition=this._setVerticalAlign(htOption,htPosition);break;case"right":htPosition.nLeft+=nWidth;if(bInside){htPosition.nLeft-=htOption.nLeft+nLayerWidth;}else{htPosition.nLeft+=htOption.nLeft;}
htPosition=this._setVerticalAlign(htOption,htPosition);break;}
htPosition=this._adjustScrollPosition(htPosition);return htPosition;},setPosition:function(htPosition){var welLayer=jindo.$Element(this.getLayer());welLayer.css("left","-9999px").css("top","0px");if(typeof htPosition=="undefined"){htPosition=this.getPosition();}
if(this.option("bAuto")){htPosition=this._adjustPosition(htPosition);}
welLayer.css("left",htPosition.nLeft+"px").css("top",htPosition.nTop+"px");return this;},getCurrentPosition:function(){var welLayer=jindo.$Element(this.getLayer());return{nTop:parseInt(welLayer.css("top")),nLeft:parseInt(welLayer.css("left"))};},_isFullyVisible:function(htPosition){var elLayer=this.getLayer(),welLayer=jindo.$Element(elLayer),oScrollPosition=jindo.$Document().scrollPosition(),nScrollTop=oScrollPosition.top,nScrollLeft=oScrollPosition.left,oClientSize=jindo.$Document().clientSize(),nLayerWidth=elLayer.offsetWidth+(parseInt(welLayer.css('marginLeft'))+parseInt(welLayer.css('marginRight'))||0),nLayerHeight=elLayer.offsetHeight+(parseInt(welLayer.css('marginTop'))+parseInt(welLayer.css('marginBottom'))||0);if(htPosition.nLeft>=0&&htPosition.nTop>=0&&oClientSize.width>=htPosition.nLeft-nScrollLeft+nLayerWidth&&oClientSize.height>=htPosition.nTop-nScrollTop+nLayerHeight){return true;}
return false;},_mirrorHorizontal:function(htOption){if(htOption.sAlign=="center"||htOption.sPosition=="inside-center"){return htOption;}
var htConvertedOption={};for(var i in htOption){htConvertedOption[i]=htOption[i];}
if(this._isPosition(htConvertedOption,"right")){htConvertedOption.sPosition=htConvertedOption.sPosition.replace(/right/,"left");}else if(this._isPosition(htConvertedOption,"left")){htConvertedOption.sPosition=htConvertedOption.sPosition.replace(/left/,"right");}else if(htConvertedOption.sAlign=="right"){htConvertedOption.sAlign="left";}else if(htConvertedOption.sAlign=="left"){htConvertedOption.sAlign="right";}
return htConvertedOption;},_mirrorVertical:function(htOption){if(htOption.sValign=="middle"||htOption.sPosition=="inside-center"){return htOption;}
var htConvertedOption={};for(var i in htOption){htConvertedOption[i]=htOption[i];}
if(this._isPosition(htConvertedOption,"top")){htConvertedOption.sPosition=htConvertedOption.sPosition.replace(/top/,"bottom");}else if(this._isPosition(htConvertedOption,"bottom")){htConvertedOption.sPosition=htConvertedOption.sPosition.replace(/bottom/,"top");}else if(htConvertedOption.sValign=="top"){htConvertedOption.sValign="bottom";}else if(htConvertedOption.sValign=="bottom"){htConvertedOption.sValign="top";}
return htConvertedOption;},_adjustPosition:function(htPosition){var htOption=this.option(),aCandidatePosition=[];aCandidatePosition.push(htPosition);aCandidatePosition.push(this.getPosition(this._mirrorHorizontal(htOption)));aCandidatePosition.push(this.getPosition(this._mirrorVertical(htOption)));aCandidatePosition.push(this.getPosition(this._mirrorVertical(this._mirrorHorizontal(htOption))));for(var i=0,htCandidatePosition;htCandidatePosition=aCandidatePosition[i];i++){if(this._isFullyVisible(htCandidatePosition)){htPosition=htCandidatePosition;break;}}
return htPosition;}}).extend(jindo.Component);jindo.Timer=jindo.$Class({$init:function(){this._nTimer=null;this._nLatest=null;this._nRemained=0;this._nDelay=null;this._fRun=null;this._bIsRunning=false;},start:function(fRun,nDelay){this.abort();this._nRemained=0;this._nDelay=nDelay;this._fRun=fRun;this._bIsRunning=true;this._nLatest=this._getTime();this.fireEvent('wait');this._excute(this._nDelay,false);return true;},isRunning:function(){return this._bIsRunning;},_getTime:function(){return new Date().getTime();},_clearTimer:function(){var bFlag=false;if(this._nTimer){clearInterval(this._nTimer);this._bIsRunning=false;bFlag=true;}
this._nTimer=null;return bFlag;},abort:function(){var bReturn=this._clearTimer();if(bReturn){this.fireEvent('abort');this._fRun=null;}
return bReturn;},pause:function(){var nPassed=this._getTime()-this._nLatest;this._nRemained=Math.max(this._nDelay-nPassed,0);return this._clearTimer();},_excute:function(nDelay,bResetDelay){var self=this;this._clearTimer();this._bIsRunning=true;this._nTimer=setInterval(function(){if(self._nTimer){self.fireEvent('run');var r=self._fRun();self._nLatest=self._getTime();if(!r){clearInterval(self._nTimer);self._nTimer=null;self._bIsRunning=false;self.fireEvent('end');return;}
self.fireEvent('wait');if(bResetDelay){self._excute(self._nDelay,false);}}},nDelay);},resume:function(){if(!this._fRun||this.isRunning()){return false;}
this._bIsRunning=true;this.fireEvent('wait');this._excute(this._nRemained,true);this._nRemained=0;return true;}}).extend(jindo.Component);jindo.Transition=jindo.$Class({_nFPS:30,_aTaskQueue:null,_oTimer:null,_bIsWaiting:true,_bIsPlaying:false,$init:function(htOption){this._aTaskQueue=[];this._oTimer=new jindo.Timer();this.option({fEffect:jindo.Effect.linear,bCorrection:false});this.option(htOption||{});},fps:function(nFPS){if(arguments.length>0){this._nFPS=nFPS;return this;}
return this._nFPS;},isPlaying:function(){return this._bIsPlaying;},abort:function(){this._aTaskQueue=[];this._oTimer.abort();if(this._bIsPlaying){this.fireEvent("abort");}
this._bIsWaiting=true;this._bIsPlaying=false;this._htTaskToDo=null;return this;},start:function(nDuration,elTarget,htInfo){if(arguments.length>0){this.queue.apply(this,arguments);}
this._prepareNextTask();return this;},queue:function(nDuration,aCommand){var htTask;if(typeof arguments[0]=='function'){htTask={sType:"function",fTask:arguments[0]};}else{var a=[];var nLength=arguments.length;if(arguments[1]instanceof Array){a=arguments[1];}else{var aInner=[];jindo.$A(arguments).forEach(function(v,i){if(i>0){aInner.push(v);if(i%2==0){a.push(aInner.concat());aInner=[];}}});}
htTask={sType:"task",nDuration:nDuration,aList:[]};for(var i=0;i<a.length;i++){var aValue=[];var htArg=a[i][1];var sEnd;for(var sKey in htArg){sEnd=htArg[sKey];if(/^(@|style\.)(\w+)/i.test(sKey)){aValue.push(["style",RegExp.$2,sEnd]);}else{aValue.push(["attr",sKey,sEnd]);}}
htTask.aList.push({elTarget:a[i][0],aValue:aValue});}}
this._queueTask(htTask);return this;},pause:function(){if(this._oTimer.abort()){this.fireEvent("pause");}
return this;},resume:function(){if(this._htTaskToDo){if(this._bIsWaiting===false&&this._bIsPlaying===true){this.fireEvent("resume");}
this._doTask();this._bIsWaiting=false;this._bIsPlaying=true;var self=this;this._oTimer.start(function(){var bEnd=!self._doTask();if(bEnd){self._bIsWaiting=true;setTimeout(function(){self._prepareNextTask();},0);}
return!bEnd;},this._htTaskToDo.nInterval);}
return this;},precede:function(nDuration,elTarget,htInfo){this.start.apply(this,arguments);return this;},sleep:function(nDuration,fCallback){if(typeof fCallback=="undefined"){fCallback=function(){};}
this._queueTask({sType:"sleep",nDuration:nDuration,fCallback:fCallback});this._prepareNextTask();return this;},_queueTask:function(v){this._aTaskQueue.push(v);},_dequeueTask:function(){var htTask=this._aTaskQueue.shift();if(htTask){if(htTask.sType=="task"){var aList=htTask.aList;for(var i=0,nLength=aList.length;i<nLength;i++){var elTarget=aList[i].elTarget;for(var j=0,aValue=aList[i].aValue,nJLen=aValue.length;j<nJLen;j++){var sType=aValue[j][0];var fFunc=aValue[j][2];if(typeof fFunc!="function"){if(fFunc instanceof Array){fFunc=this.option("fEffect")(fFunc[0],fFunc[1]);}else{fFunc=this.option("fEffect")(fFunc);}}
if(fFunc.setStart){if(this._isHTMLElement(elTarget)){var welTarget=jindo.$Element(elTarget);switch(sType){case"style":fFunc.setStart(welTarget.css(aValue[j][1]));break;case"attr":fFunc.setStart(welTarget.$value()[aValue[j][1]]);break;}}else{fFunc.setStart(elTarget.getter(aValue[j][1]));}}
aValue[j][2]=fFunc;}}}
return htTask;}else{return null;}},_prepareNextTask:function(){if(this._bIsWaiting){var htTask=this._dequeueTask();if(htTask){switch(htTask.sType){case"task":if(!this._bIsPlaying){this.fireEvent("start");}
var nInterval=1000/this._nFPS;var nGap=nInterval/htTask.nDuration;this._htTaskToDo={aList:htTask.aList,nRatio:0,nInterval:nInterval,nGap:nGap,nStep:0,nTotalStep:Math.ceil(htTask.nDuration/nInterval)};this.resume();break;case"function":if(!this._bIsPlaying){this.fireEvent("start");}
htTask.fTask();this._prepareNextTask();break;case"sleep":if(this._bIsPlaying){this.fireEvent("sleep",{nDuration:htTask.nDuration});htTask.fCallback();}
var self=this;setTimeout(function(){self.fireEvent("awake");self._prepareNextTask();},htTask.nDuration);break;}}else{if(this._bIsPlaying){this._bIsPlaying=false;this.abort();this.fireEvent("end");}}}},_isHTMLElement:function(el){return("tagName"in el);},_doTask:function(){var htTaskToDo=this._htTaskToDo,nRatio=parseFloat(htTaskToDo.nRatio.toFixed(5),1),nStep=htTaskToDo.nStep,nTotalStep=htTaskToDo.nTotalStep,aList=htTaskToDo.aList,htCorrection={};var bCorrection=this.option("bCorrection");for(var i=0,nLength=aList.length;i<nLength;i++){var elTarget=aList[i].elTarget;for(var j=0,aValue=aList[i].aValue,nJLen=aValue.length;j<nJLen;j++){var sType=aValue[j][0],sKey=aValue[j][1],sValue=aValue[j][2](nRatio);if(this._isHTMLElement(elTarget)){var welTarget=jindo.$Element(elTarget);if(bCorrection){var sUnit=/^[0-9]*([^0-9]*)$/.test(sValue)&&RegExp.$1||"";if(sUnit){var nValue=parseFloat(sValue);var nFloor;nValue+=htCorrection[sKey]||0;nValue=parseFloat(nValue.toFixed(5));if(i==nLength-1){sValue=Math.round(nValue)+sUnit;}else{nFloor=parseFloat(/(\.[0-9]+)$/.test(nValue)&&RegExp.$1||0);sValue=parseInt(nValue,10)+sUnit;htCorrection[sKey]=nFloor;}}}
switch(sType){case"style":welTarget.css(sKey,sValue);break;case"attr":welTarget.$value()[sKey]=sValue;break;}}else{elTarget.setter(sKey,sValue);}
if(this._bIsPlaying){this.fireEvent("playing",{element:elTarget,sKey:sKey,sValue:sValue,nStep:nStep,nTotalStep:nTotalStep});}}}
htTaskToDo.nRatio=Math.min(htTaskToDo.nRatio+htTaskToDo.nGap,1);htTaskToDo.nStep+=1;return nRatio!=1;}}).extend(jindo.Component);(function(){var b=jindo.$Element.prototype.css;jindo.$Element.prototype.css=function(k,v){if(k=="opacity"){return typeof v!="undefined"?this.opacity(parseFloat(v)):this.opacity();}else{return typeof v!="undefined"?b.call(this,k,v):b.call(this,k);}};})();jindo.Effect=function(fEffect){if(this instanceof arguments.callee){throw new Error("You can't create a instance of this");}
var rxNumber=/^(\-?[0-9\.]+)(%|px|pt|em)?$/;var rxRGB=/^rgb\(([0-9]+)\s?,\s?([0-9]+)\s?,\s?([0-9]+)\)$/i;var rxHex=/^#([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;var rx3to6=/^#([0-9A-F])([0-9A-F])([0-9A-F])$/i;var getUnitAndValue=function(v){var nValue=v,sUnit;if(rxNumber.test(v)){nValue=parseFloat(v);sUnit=RegExp.$2;}else if(rxRGB.test(v)){nValue=[parseInt(RegExp.$1,10),parseInt(RegExp.$2,10),parseInt(RegExp.$3,10)];sUnit='color';}else if(rxHex.test(v=v.replace(rx3to6,'#$1$1$2$2$3$3'))){nValue=[parseInt(RegExp.$1,16),parseInt(RegExp.$2,16),parseInt(RegExp.$3,16)];sUnit='color';}
return{nValue:nValue,sUnit:sUnit};};return function(nStart,nEnd){var sUnit;if(arguments.length>1){nStart=getUnitAndValue(nStart);nEnd=getUnitAndValue(nEnd);sUnit=nEnd.sUnit;}else{nEnd=getUnitAndValue(nStart);nStart=null;sUnit=nEnd.sUnit;}
if(nStart&&nEnd&&nStart.sUnit!=nEnd.sUnit){throw new Error('unit error');}
nStart=nStart&&nStart.nValue;nEnd=nEnd&&nEnd.nValue;var fReturn=function(p){var nValue=fEffect(p);var getResult=function(s,d){return(d-s)*nValue+s+sUnit;};if(sUnit=='color'){var r=parseInt(getResult(nStart[0],nEnd[0]),10)<<16;r|=parseInt(getResult(nStart[1],nEnd[1]),10)<<8;r|=parseInt(getResult(nStart[2],nEnd[2]),10);r=r.toString(16).toUpperCase();for(var i=0;6-r.length;i++){r='0'+r;}
return'#'+r;}
return getResult(nStart,nEnd);};if(nStart===null){fReturn.setStart=function(s){s=getUnitAndValue(s);if(s.sUnit!=sUnit){throw new Error('unit eror');}
nStart=s.nValue;};}
return fReturn;};};jindo.Effect.linear=jindo.Effect(function(s){return s;});jindo.Effect.easeIn=jindo.Effect(function(s){return(1-Math.sqrt(1-(s*s)));});jindo.Effect.easeOut=jindo.Effect(function(s){return Math.sqrt((2-s)*s);});jindo.Effect.bounce=jindo.Effect(function(s){if(s<(1/2.75)){return(7.5625*s*s);}else if(s<(2/2.75)){return(7.5625*(s-=(1.5/2.75))*s+0.75);}else if(s<(2.5/2.75)){return(7.5625*(s-=(2.25/2.75))*s+0.9375);}else{return(7.5625*(s-=(2.625/2.75))*s+0.984375);}});jindo.Effect._cubicBezier=function(x1,y1,x2,y2){return function(s){var cx=3.0*x1,bx=3.0*(x2-x1)-cx,ax=1.0-cx-bx,cy=3.0*y1,by=3.0*(y2-y1)-cy,ay=1.0-cy-by;function sampleCurveX(s){return((ax*s+bx)*s+cx)*s;}
function sampleCurveY(s){return((ay*s+by)*s+cy)*s;}
function solveCurveX(x,epsilon){var t0=0.0,t1=1.0,t2=x,x2,d2;for(var i=0;i<8;i++){x2=sampleCurveX(t2)-x;if(Math.abs(x2)<epsilon){return t2;}
d2=(3.0*ax*t2+2.0*bx)*t2+cx;if(Math.abs(d2)<1e-6){break;}
t2=t2-x2/d2;}
if(t2<t0){return t0;}
if(t2>t1){return t1;}
while(t0<t1){x2=sampleCurveX(t2);if(Math.abs(x2-x)<epsilon){return t2;}
if(x>x2){t0=t2;}else{t1=t2;}
t2=(t1-t0)*0.5+t0;}
return t2;}
return sampleCurveY(solveCurveX(s,(1/1000)));};};jindo.Effect.cubicBezier=function(x1,y1,x2,y2){return jindo.Effect(jindo.Effect._cubicBezier(x1,y1,x2,y2));};jindo.Effect.overphase=jindo.Effect.cubicBezier(0.25,0.75,0.8,1.3);jindo.Effect.easeInOut=jindo.Effect.cubicBezier(0.75,0.0,0.25,1.0);jindo.Effect.easeOutIn=jindo.Effect.cubicBezier(0.25,0.75,0.75,0.25);jindo.Effect.cubicEase=jindo.Effect.cubicBezier(0.25,0.1,0.25,1);jindo.Effect.cubicEaseIn=jindo.Effect.cubicBezier(0.42,0,1,1);jindo.Effect.cubicEaseOut=jindo.Effect.cubicBezier(0,0,0.58,1);jindo.Effect.cubicEaseInOut=jindo.Effect.cubicBezier(0.42,0,0.58,1);jindo.Effect.cubicEaseOutIn=jindo.Effect.cubicBezier(0,0.42,1,0.58);jindo.Effect.pulse=function(nPulse){return jindo.Effect(function(s){return(-Math.cos((s*(nPulse-0.5)*2)*Math.PI)/2)+0.5;});};jindo.FileUploader=jindo.$Class({_bIsActivating:false,_aHiddenInput:[],$init:function(elFileSelect,htOption){var htDefaultOption={sUrl:'',sCallback:'',htData:{},sFiletype:'*',sMsgNotAllowedExt:'업로드가 허용되지 않는 파일형식입니다',bAutoUpload:false,bActivateOnload:true};this.option(htDefaultOption);this.option(htOption||{});this._el=jindo.$(elFileSelect);this._wel=jindo.$Element(this._el);this._assignHTMLElements();this._aHiddenInput=[];this.constructor._oCallback={};this._wfChange=jindo.$Fn(this._onFileSelectChange,this);if(this.option("bActivateOnload")){this.activate();}},_assignHTMLElements:function(){this._elForm=this._el.form;var sIframeName='tmpFrame_'+this._makeUniqueId();this._elIframe=jindo.$('<iframe name="'+sIframeName+'" src="'+this.option("sCallback")+'?blank">');var welIframe=jindo.$Element(this._elIframe);welIframe.css({position:'absolute',width:'1px',height:'1px',left:'-100px',top:'-100px'});document.body.appendChild(this._elIframe);},getBaseElement:function(){return this.getFileSelect();},getFileSelect:function(){return this._el;},getFormElement:function(){return this._elForm;},upload:function(){var elForm=this.getFormElement();var welForm=jindo.$Element(elForm);var sIframeName=this._elIframe.name;var sFunctionName=sIframeName+'_func';var sAction=this.option("sUrl");welForm.attr({target:sIframeName,action:sAction});this._aHiddenInput.push(this._createElement('input',{'type':'hidden','name':'callback','value':this.option("sCallback")}));this._aHiddenInput.push(this._createElement('input',{'type':'hidden','name':'callback_func','value':sFunctionName}));for(var k in this.option("htData")){this._aHiddenInput.push(this._createElement('input',{'type':'hidden','name':k,'value':this.option("htData")[k]}));}
for(var i=0;i<this._aHiddenInput.length;i++){elForm.appendChild(this._aHiddenInput[i]);}
this.constructor._oCallback[sFunctionName+'_success']=jindo.$Fn(function(oParameter){this.fireEvent("success",{htResult:oParameter});delete this.constructor._oCallback[oParameter.callback_func+'_success'];delete this.constructor._oCallback[oParameter.callback_func+'_error'];for(var i=0;i<this._aHiddenInput.length;i++){jindo.$Element(this._aHiddenInput[i]).leave();}
this._aHiddenInput.length=0;},this).bind();this.constructor._oCallback[sFunctionName+'_error']=jindo.$Fn(function(oParameter){this.fireEvent("error",{htResult:oParameter});delete this.constructor._oCallback[oParameter.callback_func+'_success'];delete this.constructor._oCallback[oParameter.callback_func+'_error'];for(var i=0;i<this._aHiddenInput.length;i++){jindo.$Element(this._aHiddenInput[i]).leave();}
this._aHiddenInput.length=0;},this).bind();elForm.submit();},_onActivate:function(){this._wfChange.attach(this.getFileSelect(),"change");},_onDeactivate:function(){this._wfChange.detach(this.getFileSelect(),"change");},_makeUniqueId:function(){return new Date().getMilliseconds()+Math.floor(Math.random()*100000);},_createElement:function(name,attributes){var el=jindo.$("<"+name+">");var wel=jindo.$Element(el);for(var k in attributes){wel.attr(k,attributes[k]);}
return el;},_checkExtension:function(sFile){var aType=this.option("sFiletype").split(';');for(var i=0;i<aType.length;i++){sType=(aType[i]=="*.*")?"*":aType[i];sType=sType.replace(/^\s+|\s+$/,'');sType=sType.replace(/\./g,'\\.');sType=sType.replace(/\*/g,'[^\\\/]+');if((new RegExp(sType+'$','gi')).test(sFile)){return true;}}
return false;},_onFileSelectChange:function(we){var sValue=we.element.value,bAllowed=this._checkExtension(sValue),htParam={sValue:sValue,bAllowed:bAllowed,sMsgNotAllowedExt:this.option("sMsgNotAllowedExt")};if(this.fireEvent("select",htParam)){if(bAllowed){if(this.option("bAutoUpload")){this.upload();}}else{alert(htParam.sMsgNotAllowedExt);}}}}).extend(jindo.UIComponent);jindo.MultipleAjaxRequest=jindo.$Class({_bIsRequesting:false,$init:function(htOption){var htDefaultOption={sMode:"parallel"};this.option(htDefaultOption);this.option(htOption);},isRequesting:function(){return this._bIsRequesting;},request:function(aAjax,htMetaData){if(this.isRequesting()){return false;}
if(!(aAjax instanceof Array)){aAjax=[aAjax];}
if(typeof htMetaData=="undefined"){htMetaData={};}
this._htMetaData=htMetaData;switch(this.option("sMode")){case"parallel":this._parallelRequest(aAjax);break;case"serial":this._serialRequest(aAjax);break;default:return false;}
return true;},_fireEventStart:function(){this._bIsRequesting=true;if(this.fireEvent("start",{aAjax:this._aAjax,htMetaData:this._htMetaData})){return true;}else{this.abort();return false;}},_fireEventBeforeEachRequest:function(nIndex){if(this.fireEvent("beforeEachRequest",{oAjax:this._aAjax[nIndex],nIndex:nIndex})){return true;}else{this.abort();return false;}},_fireEventAfterEachResponse:function(nIndex){if(this.fireEvent("afterEachResponse",{oAjax:this._aAjax[nIndex],nIndex:nIndex})){return true;}else{this.abort();return false;}},_parallelRequest:function(aAjax){this._aAjaxData=aAjax;this._aAjax=[];this._aStatus=[];this._aStatus.length=aAjax.length;this._aResponse=[];if(this._fireEventStart()){var self=this;jindo.$A(this._aAjaxData).forEach(function(htAjax,i){var fParallelResponseHandler=function(oResponse){oResponse._constructor=self._aAjax[i];var nIndex=self._findAjaxObjectIndexOfResponse(oResponse._constructor);self._aResponse[nIndex]=oResponse;self._aStatus[nIndex]=true;if(self._fireEventAfterEachResponse(nIndex)){if(self._hasCompletedGotResponsesOfParallelResponses()){self._complete();}}};self._aAjax.push(jindo.$Ajax(htAjax.sUrl,htAjax.htOption));htAjax.htOption.onload=fParallelResponseHandler;htAjax.htOption.onerror=fParallelResponseHandler;htAjax.htOption.ontimeout=fParallelResponseHandler;self._aAjax[i].option(htAjax.htOption);if(self._fireEventBeforeEachRequest(i)){self._aAjax[i].request(htAjax.htParameter);}else{jindo.$A.Break();}});}},_findAjaxObjectIndexOfResponse:function(oAjax){return jindo.$A(this._aAjax).indexOf(oAjax);},_hasCompletedGotResponsesOfParallelResponses:function(){var bResult=true;jindo.$A(this._aStatus).forEach(function(bStatus){if(!bStatus){bResult=false;jindo.$A.Break();}});return bResult;},_serialRequest:function(aAjax){this._aAjaxData=aAjax;this._aAjax=[];this._aStatus=[];this._aStatus.length=aAjax.length;this._aResponse=[];var self=this;jindo.$A(this._aAjaxData).forEach(function(htAjax,i){var fSerialRequestHandler=function(e){e._constructor=self._aAjax[i];self._aResponse.push(e);self._serialRequestNext();};self._aAjax.push(jindo.$Ajax(htAjax.sUrl,htAjax.htOption));htAjax.htOption.onload=fSerialRequestHandler;htAjax.htOption.onerror=fSerialRequestHandler;htAjax.htOption.ontimeout=fSerialRequestHandler;self._aAjax[i].option(htAjax.htOption);});if(this._fireEventStart()){if(this._fireEventBeforeEachRequest(0)){this._aAjax[0].request(this._aAjaxData[0].htParameter);this._aStatus[0]=true;}}},_serialRequestNext:function(){var nIndex=-1;for(var i=0;i<this._aStatus.length;i++){if(!this._aStatus[i]){this._aStatus[i]=true;nIndex=i;break;}}
if(nIndex>0){if(this._fireEventAfterEachResponse(nIndex-1)){if(this._fireEventBeforeEachRequest(nIndex)){this._aAjax[nIndex].request(this._aAjaxData[nIndex].htParameter);}}}else if(nIndex==-1){if(this._fireEventAfterEachResponse(this._aStatus.length-1)){this._complete();}}},_reset:function(){this._aAjaxData.length=0;this._aAjax.length=0;this._aStatus.length=0;this._aResponse.length=0;this._htMetaData=null;delete this._aAjaxData;delete this._aAjax;delete this._aStatus;delete this._aResponse;delete this._htMetaData;this._bIsRequesting=false;},abort:function(){jindo.$A(this._aAjax).forEach(function(oAjax){oAjax.abort();});this._reset();},_complete:function(){var aResponse=this._aResponse.concat(),htMetaData={},sProp;for(sProp in this._htMetaData){htMetaData[sProp]=this._htMetaData[sProp];}
this._reset();this.fireEvent("complete",{aResponse:aResponse,htMetaData:htMetaData});}}).extend(jindo.Component);jindo.RolloverClick=jindo.$Class({$init:function(el,htOption){this.option({bActivateOnload:true,sCheckEvent:"click",bCheckDblClick:false,RolloverArea:{sClassName:"rollover",sClassPrefix:"rollover-",bCheckMouseDown:false,bActivateOnload:false,htStatus:{sOver:"over",sDown:"down"}}});this.option(htOption||{});var self=this;this._oRolloverArea=new jindo.RolloverArea(el,this.option("RolloverArea")).attach({over:function(oCustomEvent){if(!self.fireEvent("over",oCustomEvent)){oCustomEvent.stop();}},out:function(oCustomEvent){if(!self.fireEvent("out",oCustomEvent)){oCustomEvent.stop();}}});this._wfClick=jindo.$Fn(this._onClick,this);this._wfDblClick=jindo.$Fn(this._onClick,this);if(this.option("bActivateOnload")){this.activate();}},_onClick:function(we){var elRollover=we.element,sType="click";if(we.type=="dblclick"){sType=we.type;}
while(elRollover=this._oRolloverArea._findRollover(elRollover)){this.fireEvent(sType,{element:elRollover,htStatus:this._oRolloverArea.option("htStatus"),weEvent:we});elRollover=elRollover.parentNode;}},_onActivate:function(){this._wfClick.attach(this._oRolloverArea._elArea,this.option("sCheckEvent"));if(this.option("bCheckDblClick")){this._wfDblClick.attach(this._oRolloverArea._elArea,'dblclick');}
this._oRolloverArea.activate();},_onDeactivate:function(){this._wfClick.detach(this._oRolloverArea._elArea,this.option("sCheckEvent"));this._wfDblClick.detach(this._oRolloverArea._elArea,'dblclick');this._oRolloverArea.deactivate();}}).extend(jindo.UIComponent);jindo.Pagination=jindo.$Class({$init:function(sId,htOption){this._elPageList=jindo.$(sId);this._welPageList=jindo.$Element(this._elPageList);this._waPage=jindo.$A([]);this._fClickPage=jindo.$Fn(this._onClickPageList,this);this.option({bActivateOnload:true,nItem:10,nItemPerPage:10,nPagePerPageList:10,nPage:1,sMoveUnit:"pagelist",bAlignCenter:false,sInsertTextNode:"",sClassFirst:"first-child",sClassLast:"last-child",sPageTemplate:"<a href='#'>{=page}</a>",sCurrentPageTemplate:"<strong>{=page}</strong>",elFirstPageLinkOn:jindo.$$.getSingle("a.pre_end",this._elPageList),elPrevPageLinkOn:jindo.$$.getSingle("a.pre",this._elPageList),elNextPageLinkOn:jindo.$$.getSingle("a.next",this._elPageList),elLastPageLinkOn:jindo.$$.getSingle("a.next_end",this._elPageList),elFirstPageLinkOff:jindo.$$.getSingle("span.pre_end",this._elPageList),elPrevPageLinkOff:jindo.$$.getSingle("span.pre",this._elPageList),elNextPageLinkOff:jindo.$$.getSingle("span.next",this._elPageList),elLastPageLinkOff:jindo.$$.getSingle("span.next_end",this._elPageList)});this.option(htOption||{});if(this.option("bActivateOnload")){this.activate();}},getBaseElement:function(){return this._elPageList;},getItemCount:function(){return this.option("nItem");},setItemCount:function(n){this.option({"nItem":n});},getItemPerPage:function(){return this.option("nItemPerPage");},setItemPerPage:function(n){this.option("nItemPerPage",n);},getCurrentPage:function(){return this._nCurrentPage;},getFirstItemOfPage:function(n){return this.getItemPerPage()*(n-1)+1;},getPageOfItem:function(n){return Math.ceil(n/this.getItemPerPage());},_getLastPage:function(){return Math.ceil(this.getItemCount()/this.getItemPerPage());},_getRelativePage:function(sRelative){var nPage=null;if(this.option("sMoveUnit")=="page"){switch(sRelative){case"pre":nPage=this.getCurrentPage()-1;break;case"next":nPage=this.getCurrentPage()+1;break;}}else{var nThisPageList=this._getPageList(this.getCurrentPage());switch(sRelative){case"pre_end":nPage=1;break;case"pre":var nLastPageOfPrePageList=(nThisPageList-1)*this.option("nPagePerPageList");nPage=nLastPageOfPrePageList;break;case"next":var nFirstPageOfNextPageList=(nThisPageList)*this.option("nPagePerPageList")+1;nPage=nFirstPageOfNextPageList;break;case"next_end":nPage=this._getLastPage();break;}}
return nPage;},_getPageList:function(nThisPage){if(this.option("bAlignCenter")){var nLeft=Math.floor(this.option("nPagePerPageList")/2);var nPageList=nThisPage-nLeft;nPageList=Math.max(nPageList,1);nPageList=Math.min(nPageList,this._getLastPage());return nPageList;}
return Math.ceil(nThisPage/this.option("nPagePerPageList"));},_isIn:function(el,elParent){if(!elParent){return false;}
return(el===elParent)?true:jindo.$Element(el).isChildOf(elParent);},_getPageElement:function(el){for(var i=0,nLength=this._waPage.$value().length;i<nLength;i++){var elPage=this._waPage.get(i);if(this._isIn(el,elPage)){return elPage;}}
return null;},_onClickPageList:function(we){we.stop(jindo.$Event.CANCEL_DEFAULT);var nPage=null,htOption=this.option(),el=we.element;if(this._isIn(el,htOption.elFirstPageLinkOn)){nPage=this._getRelativePage("pre_end");}else if(this._isIn(el,htOption.elPrevPageLinkOn)){nPage=this._getRelativePage("pre");}else if(this._isIn(el,htOption.elNextPageLinkOn)){nPage=this._getRelativePage("next");}else if(this._isIn(el,htOption.elLastPageLinkOn)){nPage=this._getRelativePage("next_end");}else{var elPage=this._getPageElement(el);if(elPage){nPage=parseInt(jindo.$Element(elPage).text(),10);}else{return;}}
this.movePageTo(nPage);},_convertToAvailPage:function(nPage){var nLastPage=this._getLastPage();nPage=Math.max(nPage,1);nPage=Math.min(nPage,nLastPage);return nPage;},movePageTo:function(nPage,bFireEvent){if(typeof bFireEvent=="undefined"){bFireEvent=true;}
nPage=this._convertToAvailPage(nPage);this._nCurrentPage=nPage;if(bFireEvent){if(!this.fireEvent("beforeMove",{nPage:nPage})){return;}}
this._paginate(nPage);if(bFireEvent){this.fireEvent("move",{nPage:nPage});}},reset:function(nItemCount){if(typeof nItemCount=="undefined"){nItemCount=this.option("nItem");}
this.setItemCount(nItemCount);this.movePageTo(1,false);},_onActivate:function(){this._fClickPage.attach(this._elPageList,"click");this.setItemCount(this.option("nItem"));this.movePageTo(this.option("nPage"),false);this._welPageList.addClass("loaded");},_onDeactivate:function(){this._fClickPage.detach(this._elPageList,"click");this._welPageList.removeClass("loaded");},_addTextNode:function(){var sTextNode=this.option("sInsertTextNode");this._elPageList.appendChild(document.createTextNode(sTextNode));},_paginate:function(nPage){this._empty();this._addTextNode();var htOption=this.option(),elFirstPageLinkOn=htOption.elFirstPageLinkOn,elPrevPageLinkOn=htOption.elPrevPageLinkOn,elNextPageLinkOn=htOption.elNextPageLinkOn,elLastPageLinkOn=htOption.elLastPageLinkOn,elFirstPageLinkOff=htOption.elFirstPageLinkOff,elPrevPageLinkOff=htOption.elPrevPageLinkOff,elNextPageLinkOff=htOption.elNextPageLinkOff,elLastPageLinkOff=htOption.elLastPageLinkOff,nLastPage=this._getLastPage(),nThisPageList=this._getPageList(nPage),nLastPageList=this._getPageList(nLastPage);if(nLastPage===0){this._welPageList.addClass("no-result");}else if(nLastPage==1){this._welPageList.addClass("only-one");}else{this._welPageList.removeClass("only-one").removeClass("no-result");}
var nFirstPageOfThisPageList,nLastPageOfThisPageList;if(htOption.bAlignCenter){var nLeft=Math.floor(htOption.nPagePerPageList/2);nFirstPageOfThisPageList=nPage-nLeft;nFirstPageOfThisPageList=Math.max(nFirstPageOfThisPageList,1);nLastPageOfThisPageList=nFirstPageOfThisPageList+htOption.nPagePerPageList-1;if(nLastPageOfThisPageList>nLastPage){nFirstPageOfThisPageList=nLastPage-htOption.nPagePerPageList+1;nFirstPageOfThisPageList=Math.max(nFirstPageOfThisPageList,1);nLastPageOfThisPageList=nLastPage;}}else{nFirstPageOfThisPageList=(nThisPageList-1)*htOption.nPagePerPageList+1;nLastPageOfThisPageList=(nThisPageList)*htOption.nPagePerPageList;nLastPageOfThisPageList=Math.min(nLastPageOfThisPageList,nLastPage);}
if(htOption.sMoveUnit=="page"){nThisPageList=nPage;nLastPageList=nLastPage;}
if(nPage>1){if(elFirstPageLinkOn){this._welPageList.append(elFirstPageLinkOn);this._addTextNode();}}else{if(elFirstPageLinkOff){this._welPageList.append(elFirstPageLinkOff);this._addTextNode();}}
if(nThisPageList>1){if(elPrevPageLinkOn){this._welPageList.append(elPrevPageLinkOn);this._addTextNode();}}else{if(elPrevPageLinkOff){this._welPageList.append(elPrevPageLinkOff);this._addTextNode();}}
var el,wel;for(var i=nFirstPageOfThisPageList;i<=nLastPageOfThisPageList;i++){if(i==nPage){el=jindo.$(jindo.$Template(htOption.sCurrentPageTemplate).process({page:i.toString()}));}else{el=jindo.$(jindo.$Template(htOption.sPageTemplate).process({page:i.toString()}));this._waPage.push(el);}
wel=jindo.$Element(el);if(i==nFirstPageOfThisPageList){wel.addClass(this.option("sClassFirst"));}
if(i==nLastPageOfThisPageList){wel.addClass(this.option("sClassLast"));}
this._welPageList.append(el);this._addTextNode();}
if(nThisPageList<nLastPageList){if(elNextPageLinkOn){this._welPageList.append(elNextPageLinkOn);this._addTextNode();}}else{if(elNextPageLinkOff){this._welPageList.append(elNextPageLinkOff);this._addTextNode();}}
if(nPage<nLastPage){if(elLastPageLinkOn){this._welPageList.append(elLastPageLinkOn);this._addTextNode();}}else{if(elLastPageLinkOff){this._welPageList.append(elLastPageLinkOff);this._addTextNode();}}},_empty:function(){var htOption=this.option(),elFirstPageLinkOn=htOption.elFirstPageLinkOn,elPrevPageLinkOn=htOption.elPrevPageLinkOn,elNextPageLinkOn=htOption.elNextPageLinkOn,elLastPageLinkOn=htOption.elLastPageLinkOn,elFirstPageLinkOff=htOption.elFirstPageLinkOff,elPrevPageLinkOff=htOption.elPrevPageLinkOff,elNextPageLinkOff=htOption.elNextPageLinkOff,elLastPageLinkOff=htOption.elLastPageLinkOff;elFirstPageLinkOn=this._clone(elFirstPageLinkOn);elPrevPageLinkOn=this._clone(elPrevPageLinkOn);elLastPageLinkOn=this._clone(elLastPageLinkOn);elNextPageLinkOn=this._clone(elNextPageLinkOn);elFirstPageLinkOff=this._clone(elFirstPageLinkOff);elPrevPageLinkOff=this._clone(elPrevPageLinkOff);elLastPageLinkOff=this._clone(elLastPageLinkOff);elNextPageLinkOff=this._clone(elNextPageLinkOff);this._waPage.empty();this._welPageList.empty();},_clone:function(el){if(el&&typeof el.cloneNode=="function"){return el.cloneNode(true);}
return el;}}).extend(jindo.UIComponent);jindo.DatePicker=jindo.$Class({_aDatePickerSet:[],_htSelectedDatePickerSet:null,$init:function(elCalendarLayer,htOption){var oDate=new Date();this.htDefaultOption={bUseLayerPosition:true,Calendar:{sClassPrefix:"calendar-",nYear:oDate.getFullYear(),nMonth:oDate.getMonth()+1,nDate:oDate.getDate(),sTitleFormat:"yyyy-mm",aMonthTitle:["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"]},LayerManager:{sCheckEvent:"click",nShowDelay:0,nHideDelay:0},LayerPosition:{sPosition:"outside-bottom",sAlign:"left",nTop:0,nLeft:0,bAuto:false}};this.option(this.htDefaultOption);this.option(htOption);this._elCalendarLayer=jindo.$(elCalendarLayer);this._initCalendar();this._initLayerManager();this._initLayerPosition();this._wfFocusInput=jindo.$Fn(this._onFocusInput,this);this._wfClickLinkedElement=jindo.$Fn(this._onClickLinkedElement,this);this._wfMouseOverOutDate=jindo.$Fn(this._onMouseOverOutDate,this);this._wfClickDate=jindo.$Fn(this._onClickDate,this);this.activate();},addDatePickerSet:function(ht){var htOption=this.option(),htCalendarOption=this.getCalendar().option(),htDefaultOption={nYear:htCalendarOption.nYear,nMonth:htCalendarOption.nMonth,nDate:htCalendarOption.nDate,bDefaultSet:true,bReadOnly:true,sDateFormat:"yyyy-mm-dd",htSelectableDateFrom:{nYear:1900,nMonth:1,nDate:1},htSelectableDateTo:{nYear:2100,nMonth:12,nDate:31}};if(typeof ht.htOption!="undefined"){for(var value in ht.htOption){if(typeof htDefaultOption[value]!="undefined"){htDefaultOption[value]=ht.htOption[value];}}}
ht.htOption=htDefaultOption;this._aDatePickerSet.push(ht);var oLayerManager=this.getLayerManager();if(typeof ht.elInput!="undefined"){oLayerManager.link(ht.elInput);if(ht.htOption.bReadOnly){ht.elInput.readOnly=true;}
this._wfFocusInput.attach(ht.elInput,"focus");this._wfClickLinkedElement.attach(ht.elInput,"click");}
if(typeof ht.elButton!="undefined"){oLayerManager.link(ht.elButton);this._wfClickLinkedElement.attach(ht.elButton,"click");}
if(ht.htOption.bDefaultSet){this._setDate(ht,ht.htOption);}
return this;},removeDatePickerSet:function(ht){var nIndex=-1;for(var i=0,len=this._aDatePickerSet.length;i<len;i++){if(this._aDatePickerSet[i].elInput==ht.elInput||this._aDatePickerSet[i].elButton==ht.elButton){nIndex=i;break;}}
var htDatePickerSet=this._aDatePickerSet[nIndex];var oLayerManager=this.getLayerManager();if(typeof htDatePickerSet.elButton!="undefined"){oLayerManager.unlink(htDatePickerSet.elButton);this._wfClickLinkedElement.detach(htDatePickerSet.elButton,"click");}
if(typeof htDatePickerSet.elInput!="undefined"){this._wfFocusInput.detach(htDatePickerSet.elInput,"focus");this._wfClickLinkedElement.detach(htDatePickerSet.elInput,"click");htDatePickerSet.elInput.readOnly=false;}
if(htDatePickerSet==this._htSelectedDatePickerSet){this._htSelectedDatePickerSet=null;}
this._aDatePickerSet.splice(i,1);return this;},getDatePickerSet:function(el){if(typeof el=="undefined"){return this._aDatePickerSet;}
for(var i=0,len=this._aDatePickerSet.length;i<len;i++){if(this._aDatePickerSet[i].elInput==el||this._aDatePickerSet[i].elButton==el){return this._aDatePickerSet[i];}}
return false;},getCalendarLayer:function(){return this._elCalendarLayer;},_initCalendar:function(){var self=this;this._oCalendar=new jindo.Calendar(this.getCalendarLayer(),this.option("Calendar")).attach({beforeDraw:function(oCustomEvent){if(!self.fireEvent("beforeDraw",oCustomEvent)){oCustomEvent.stop();}},draw:function(oCustomEvent){var sClassPrefix=this.option("sClassPrefix");var oShowDatePickerSet=self._htSelectedDatePickerSet;if(self.isSelectable(oShowDatePickerSet,oCustomEvent)){oCustomEvent.bSelectable=true;if(jindo.Calendar.isSameDate(oCustomEvent,oShowDatePickerSet)){jindo.$Element(oCustomEvent.elDateContainer).addClass(sClassPrefix+"selected");}}else{oCustomEvent.bSelectable=false;jindo.$Element(oCustomEvent.elDateContainer).addClass(this.option("sClassPrefix")+"unselectable");}
if(!self.fireEvent("draw",oCustomEvent)){oCustomEvent.stop();}},afterDraw:function(oCustomEvent){self.fireEvent("afterDraw",oCustomEvent);}});},getCalendar:function(){return this._oCalendar;},_initLayerManager:function(){var self=this;var elCalendarLayer=this.getCalendarLayer();this._oLayerManager=new jindo.LayerManager(elCalendarLayer,this.option("LayerManager")).attach({hide:function(oCustomEvent){self._htSelectedDatePickerSet=null;}}).link(elCalendarLayer);},getLayerManager:function(){return this._oLayerManager;},_initLayerPosition:function(){if(this.option("bUseLayerPosition")){this._oLayerPosition=new jindo.LayerPosition(null,this.getCalendarLayer(),this.option("LayerPosition"));}},getLayerPosition:function(){return this._oLayerPosition;},getInput:function(htDatePickerSet){return htDatePickerSet.elInput||null;},setInput:function(htDatePickerSet,htDate){this._setDate(htDatePickerSet,htDate);},getDate:function(htDatePickerSet){return{nYear:htDatePickerSet.nYear,nMonth:htDatePickerSet.nMonth,nDate:htDatePickerSet.nDate};},_setDate:function(htDatePickerSet,htDate){htDatePickerSet.nYear=htDate.nYear*1;htDatePickerSet.nMonth=htDate.nMonth*1;htDatePickerSet.nDate=htDate.nDate*1;if(typeof htDatePickerSet.elInput!="undefined"){htDatePickerSet.elInput.value=this._getDateFormat(htDatePickerSet,htDate);}},isSelectable:function(htDatePickerSet,htDate){return jindo.Calendar.isBetween(htDate,htDatePickerSet.htOption["htSelectableDateFrom"],htDatePickerSet.htOption["htSelectableDateTo"]);},setDate:function(htDatePickerSet,htDate){if(this.isSelectable(htDatePickerSet,htDate)){var sDateFormat=this._getDateFormat(htDatePickerSet,htDate);var htParam={"sText":sDateFormat,"nYear":htDate.nYear,"nMonth":htDate.nMonth,"nDate":htDate.nDate};if(this.fireEvent("beforeSelect",htParam)){this._setDate(htDatePickerSet,htDate);if(this.fireEvent("select",htParam)){this.getLayerManager().hide();}}
return true;}
return false;},_getDateFormat:function(htDatePickerSet,htDate){var nYear=htDate.nYear;var nMonth=htDate.nMonth;var nDate=htDate.nDate;if(nMonth<10){nMonth=("0"+(nMonth*1)).toString();}
if(nDate<10){nDate=("0"+(nDate*1)).toString();}
var sDateFormat=htDatePickerSet.htOption.sDateFormat;sDateFormat=sDateFormat.replace(/yyyy/g,nYear).replace(/y/g,(nYear).toString().substr(2,2)).replace(/mm/g,nMonth).replace(/m/g,(nMonth*1)).replace(/M/g,this.getCalendar().option("aMonthTitle")[nMonth-1]).replace(/dd/g,nDate).replace(/d/g,(nDate*1));return sDateFormat;},_linkOnly:function(htDatePickerSet){var oLayerManager=this.getLayerManager();oLayerManager.setLinks([this.getCalendarLayer()]);if(typeof htDatePickerSet.elInput!="undefined"){oLayerManager.link(htDatePickerSet.elInput);}
if(typeof htDatePickerSet.elButton!="undefined"){oLayerManager.link(htDatePickerSet.elButton);}},_onActivate:function(){var elCalendarLayer=this.getCalendarLayer();this._wfMouseOverOutDate.attach(elCalendarLayer,"mouseover").attach(elCalendarLayer,"mouseout");this._wfClickDate.attach(elCalendarLayer,"click");this.getLayerManager().activate();this.getCalendar().activate();},_onDeactivate:function(){var elCalendarLayer=this.getCalendarLayer();this._wfMouseOverOutDate.detach(elCalendarLayer,"mouseover").detach(elCalendarLayer,"mouseout");this._wfClickDate.detach(elCalendarLayer,"click").detach(elCalendarLayer,"mouseover").detach(elCalendarLayer,"mouseout");this.getLayerManager().deactivate();this.getCalendar().deactivate();},attachEvent:function(){return this.activate();},detachEvent:function(){return this.deactivate();},addButton:function(){return this;},_onFocusInput:function(we){this.fireEvent("focus");},_onClickLinkedElement:function(we){we.stop(jindo.$Event.CANCEL_DEFAULT);if(this.fireEvent("click",{element:we.element})){var htDatePickerSet=this.getDatePickerSet(we.currentElement);if(htDatePickerSet){this._htSelectedDatePickerSet=htDatePickerSet;this._linkOnly(htDatePickerSet);if(!htDatePickerSet.nYear){htDatePickerSet.nYear=htDatePickerSet.htOption.nYear;}
if(!htDatePickerSet.nMonth){htDatePickerSet.nMonth=htDatePickerSet.htOption.nMonth;}
if(!htDatePickerSet.nDate){htDatePickerSet.nDate=htDatePickerSet.htOption.nDate;}
var nYear=htDatePickerSet.nYear;var nMonth=htDatePickerSet.nMonth;this.getCalendar().draw(nYear,nMonth);this.getLayerManager().show();if(this.option("bUseLayerPosition")){if(typeof htDatePickerSet.elLayerPosition!="undefined"){this.getLayerPosition().setElement(htDatePickerSet.elLayerPosition).setPosition();}else{this.getLayerPosition().setElement(htDatePickerSet.elInput).setPosition();}}}}},_getTargetDateElement:function(el){var sClassPrefix=this.getCalendar().option("sClassPrefix");var elDate=(jindo.$Element(el).hasClass(sClassPrefix+"date"))?el:jindo.$$.getSingle("."+sClassPrefix+"date",el);if(elDate&&(elDate==el||elDate.length==1)){return elDate;}
return null;},_getTargetDateContainerElement:function(el){var sClassPrefix=this.getCalendar().option("sClassPrefix");var elWeek=jindo.$$.getSingle("! ."+sClassPrefix+"week",el);if(elWeek){var elReturn=el;while(!jindo.$Element(elReturn.parentNode).hasClass(sClassPrefix+"week")){elReturn=elReturn.parentNode;}
if(jindo.$Element(elReturn).hasClass(sClassPrefix+"unselectable")){return null;}
return elReturn;}else{return null;}},_onMouseOverOutDate:function(we){we.stop(jindo.$Event.CANCEL_DEFAULT);var sClassPrefix=this.getCalendar().option("sClassPrefix");var el=we.element;var elDateContainer=this._getTargetDateContainerElement(el);if(elDateContainer){var htDate=this.getCalendar().getDateOfElement(elDateContainer);if(this._htSelectedDatePickerSet&&this.isSelectable(this._htSelectedDatePickerSet,htDate)){if(we.type=="mouseover"){if(!this._elSelected){this._elSelected=jindo.$$.getSingle("."+sClassPrefix+"selected",this.elWeekAppendTarget);if(this._elSelected){jindo.$Element(this._elSelected).removeClass(sClassPrefix+"selected");}}
jindo.$Element(elDateContainer).addClass(sClassPrefix+"over");return;}
if(we.type=="mouseout"){jindo.$Element(elDateContainer).removeClass(sClassPrefix+"over");return;}}else{if(this._elSelected){jindo.$Element(this._elSelected).addClass(sClassPrefix+"selected");this._elSelected=null;}}}else{if(this._elSelected){jindo.$Element(this._elSelected).addClass(sClassPrefix+"selected");this._elSelected=null;}}},_onClickDate:function(we){we.stop(jindo.$Event.CANCEL_DEFAULT);var el=we.element;var elDate=this._getTargetDateElement(el);if(elDate){var elDateContainer=this._getTargetDateContainerElement(elDate);if(elDateContainer){var htDate=this.getCalendar().getDateOfElement(elDateContainer);if(this.isSelectable(this._htSelectedDatePickerSet,htDate)){this.setDate(this._htSelectedDatePickerSet,htDate);}}}}}).extend(jindo.UIComponent);jindo.StarRating=jindo.$Class({$init:function(el,htOption){var htDefaultOption={nStep:1,nMaxValue:10,nDefaultValue:0,bSnap:false,bActivateOnload:true};this.option(htDefaultOption);this.option(htOption||{});this._el=jindo.$(el);this._wel=jindo.$Element(el);this._assignHTMLElements();this._wfMouseMove=jindo.$Fn(this._onMouseMove,this);this._wfMouseLeave=jindo.$Fn(this._onMouseLeave,this);this._wfClick=jindo.$Fn(this._onClick,this);if(this.option("bActivateOnload")){this.activate();}},_assignHTMLElements:function(){this._elRatingElement=jindo.$$.getSingle("span",this.getBaseElement());this._welRatingElement=jindo.$Element(this._elRatingElement);},getBaseElement:function(){return this._el;},getRatingElement:function(){return this._elRatingElement;},getValue:function(){return this._nValue;},getValueByWidth:function(){return this._welRatingElement.width()/this._nBaseWidth*this.option("nMaxValue");},getValueToBeSet:function(nValue){nValue=this._round(nValue,this.option("nStep"));nValue=Math.min(nValue,this.option("nMaxValue"));nValue=Math.max(nValue,0);return nValue;},setValue:function(nValue,bFireEvent){if(typeof bFireEvent=="undefined"){bFireEvent=true;}
var nMaxValue=this.option("nMaxValue");nValue=this.getValueToBeSet(nValue);var nWidth=this._nBaseWidth*nValue/nMaxValue;nWidth=Math.min(nWidth,this._nBaseWidth);this._welRatingElement.width(nWidth);this._nValue=nValue;if(bFireEvent){this.fireEvent("set",{nValue:this._nValue});}
return this;},reset:function(){var nValue=this.option("nDefaultValue")||0;this.setValue(nValue,false);return this;},_round:function(nValue,nStep){var nResult=nValue,nFloor=Math.floor(nValue),nMaxCandidate=nFloor+1,nCompare=1,nTempCompare,nCandidate,nFixed;for(nCandidate=nFloor;nCandidate<=nMaxCandidate;nCandidate+=nStep){nTempCompare=Math.abs(nValue-nCandidate);if(nTempCompare<=nCompare){nCompare=nTempCompare;nResult=nCandidate;}}
return nResult.toFixed(Math.max((nStep.toString().length-2),0));},_onActivate:function(){var el=this.getBaseElement();this._wfMouseMove.attach(el,"mousemove");this._wfMouseLeave.attach(el,"mouseleave");this._wfClick.attach(el,"click");this._nBaseWidth=this._wel.width();this.reset();},_onDeactivate:function(){var el=this.getBaseElement();this._wfMouseMove.detach(el,"mousemove");this._wfMouseLeave.detach(el,"mouseleave");this._wfClick.detach(el,"click");},_onMouseMove:function(we){var nOffsetX=we.pos(true).offsetX+1,nWidth=(nOffsetX>this._nBaseWidth)?this._nBaseWidth:nOffsetX,nValue;if(this.option("bSnap")){nValue=nOffsetX/this._nBaseWidth*this.option("nMaxValue");nWidth=this._round(nValue,this.option("nStep"))*this._nBaseWidth/this.option("nMaxValue");nWidth=Math.min(nWidth,this._nBaseWidth);}
this._welRatingElement.css("width",nWidth+"px");nValue=this.getValueByWidth();this.fireEvent("move",{nValue:nValue,nValueToBeSet:this.getValueToBeSet(nValue)});},_onMouseLeave:function(we){this.setValue(this._nValue,false);this.fireEvent("out");},_onClick:function(we){this.setValue(this.getValueByWidth());}}).extend(jindo.UIComponent);jindo.DragArea=jindo.$Class({$init:function(el,htOption){this.option({sClassName:'draggable',bFlowOut:true,bSetCapture:true,nThreshold:0});this.option(htOption||{});this._el=el;this._bIE=jindo.$Agent().navigator().ie;this._htDragInfo={"bIsDragging":false,"bPrepared":false,"bHandleDown":false,"bForceDrag":false};this._wfOnMouseDown=jindo.$Fn(this._onMouseDown,this);this._wfOnMouseMove=jindo.$Fn(this._onMouseMove,this);this._wfOnMouseUp=jindo.$Fn(this._onMouseUp,this);this._wfOnDragStart=jindo.$Fn(this._onDragStart,this);this._wfOnSelectStart=jindo.$Fn(this._onSelectStart,this);this.activate();},_findDraggableElement:function(el){if(el.nodeType===1&&jindo.$$.test(el,"input[type=text], textarea, select")){return null;}
var self=this;var sClass='.'+this.option('sClassName');var isChildOfDragArea=function(el){if(el===null){return false;}
if(self._el===document||self._el===el){return true;}
return jindo.$Element(self._el).isParentOf(el);};var elReturn=jindo.$$.test(el,sClass)?el:jindo.$$.getSingle('! '+sClass,el);if(!isChildOfDragArea(elReturn)){elReturn=null;}
return elReturn;},isDragging:function(){var htDragInfo=this._htDragInfo;return htDragInfo.bIsDragging&&!htDragInfo.bPrepared;},stopDragging:function(){this._stopDragging(true);return this;},_stopDragging:function(bInterupted){this._wfOnMouseMove.detach(document,'mousemove');this._wfOnMouseUp.detach(document,'mouseup');if(this.isDragging()){var htDragInfo=this._htDragInfo,welDrag=jindo.$Element(htDragInfo.elDrag);htDragInfo.bIsDragging=false;htDragInfo.bForceDrag=false;htDragInfo.bPrepared=false;if(this._bIE&&this._elSetCapture){this._elSetCapture.releaseCapture();this._elSetCapture=null;}
this.fireEvent('dragEnd',{"elArea":this._el,"elHandle":htDragInfo.elHandle,"elDrag":htDragInfo.elDrag,"nX":parseInt(welDrag.css("left"),10)||0,"nY":parseInt(welDrag.css("top"),10)||0,"bInterupted":bInterupted});}},_onActivate:function(){this._wfOnMouseDown.attach(this._el,'mousedown');this._wfOnDragStart.attach(this._el,'dragstart');this._wfOnSelectStart.attach(this._el,'selectstart');},_onDeactivate:function(){this._wfOnMouseDown.detach(this._el,'mousedown');this._wfOnDragStart.detach(this._el,'dragstart');this._wfOnSelectStart.detach(this._el,'selectstart');},attachEvent:function(){this.activate();},detachEvent:function(){this.deactivate();},isEventAttached:function(){return this.isActivating();},startDragging:function(el){var elDrag=this._findDraggableElement(el);if(elDrag){this._htDragInfo.bForceDrag=true;this._htDragInfo.bPrepared=true;this._htDragInfo.elHandle=elDrag;this._htDragInfo.elDrag=elDrag;this._wfOnMouseMove.attach(document,'mousemove');this._wfOnMouseUp.attach(document,'mouseup');return true;}
return false;},_onMouseDown:function(we){var mouse=we.mouse(true);if(!mouse.left||mouse.right||mouse.scrollbar){this._stopDragging(true);return;}
var el=this._findDraggableElement(we.element);if(el){var oPos=we.pos(),htDragInfo=this._htDragInfo;htDragInfo.bHandleDown=true;htDragInfo.bPrepared=true;htDragInfo.nButton=we._event.button;htDragInfo.elHandle=el;htDragInfo.elDrag=el;htDragInfo.nPageX=oPos.pageX;htDragInfo.nPageY=oPos.pageY;if(this.fireEvent('handleDown',{elHandle:el,elDrag:el,weEvent:we})){this._wfOnMouseMove.attach(document,'mousemove');}
this._wfOnMouseUp.attach(document,'mouseup');we.stop(jindo.$Event.CANCEL_DEFAULT);}},_onMouseMove:function(we){var htDragInfo=this._htDragInfo,htParam,htRect,oPos=we.pos(),htGap={"nX":oPos.pageX-htDragInfo.nPageX,"nY":oPos.pageY-htDragInfo.nPageY};if(htDragInfo.bPrepared){var nThreshold=this.option('nThreshold'),htDiff={};if(!htDragInfo.bForceDrag&&nThreshold){htDiff.nPageX=oPos.pageX-htDragInfo.nPageX;htDiff.nPageY=oPos.pageY-htDragInfo.nPageY;var nDistance=Math.sqrt(htDiff.nPageX*htDiff.nPageX+htDiff.nPageY*htDiff.nPageY);if(nThreshold>nDistance){return;}}
if(this._bIE&&this.option("bSetCapture")){this._elSetCapture=(this._el===document)?document.body:this._findDraggableElement(we.element);if(this._elSetCapture){this._elSetCapture.setCapture(false);}}
htParam={elArea:this._el,elHandle:htDragInfo.elHandle,elDrag:htDragInfo.elDrag,htDiff:htDiff,weEvent:we};htDragInfo.bIsDragging=true;htDragInfo.bPrepared=false;if(this.fireEvent('dragStart',htParam)){var welDrag=jindo.$Element(htParam.elDrag),htOffset=welDrag.offset();htDragInfo.elHandle=htParam.elHandle;htDragInfo.elDrag=htParam.elDrag;htDragInfo.nX=parseInt(welDrag.css('left'),10)||0;htDragInfo.nY=parseInt(welDrag.css('top'),10)||0;htDragInfo.nClientX=htOffset.left+welDrag.width()/2;htDragInfo.nClientY=htOffset.top+welDrag.height()/2;}else{htDragInfo.bPrepared=true;return;}}
if(htDragInfo.bForceDrag){htGap.nX=oPos.clientX-htDragInfo.nClientX;htGap.nY=oPos.clientY-htDragInfo.nClientY;}
htParam={"elArea":this._el,"elFlowOut":htDragInfo.elDrag.parentNode,"elHandle":htDragInfo.elHandle,"elDrag":htDragInfo.elDrag,"weEvent":we,"nX":htDragInfo.nX+htGap.nX,"nY":htDragInfo.nY+htGap.nY,"nGapX":htGap.nX,"nGapY":htGap.nY};if(this.fireEvent('beforeDrag',htParam)){var elDrag=htDragInfo.elDrag;if(this.option('bFlowOut')===false){var elParent=htParam.elFlowOut,aSize=[elDrag.offsetWidth,elDrag.offsetHeight],nScrollLeft=0,nScrollTop=0;if(elParent==document.body){elParent=null;}
if(elParent&&aSize[0]<=elParent.scrollWidth&&aSize[1]<=elParent.scrollHeight){htRect={nWidth:elParent.clientWidth,nHeight:elParent.clientHeight};nScrollLeft=elParent.scrollLeft;nScrollTop=elParent.scrollTop;}else{var htClientSize=jindo.$Document().clientSize();htRect={nWidth:htClientSize.width,nHeight:htClientSize.height};}
if(htParam.nX!==null){htParam.nX=Math.max(htParam.nX,nScrollLeft);htParam.nX=Math.min(htParam.nX,htRect.nWidth-aSize[0]+nScrollLeft);}
if(htParam.nY!==null){htParam.nY=Math.max(htParam.nY,nScrollTop);htParam.nY=Math.min(htParam.nY,htRect.nHeight-aSize[1]+nScrollTop);}}
if(htParam.nX!==null){elDrag.style.left=htParam.nX+'px';}
if(htParam.nY!==null){elDrag.style.top=htParam.nY+'px';}
this.fireEvent('drag',htParam);}else{htDragInfo.bIsDragging=false;}},_onMouseUp:function(we){this._stopDragging(false);var htDragInfo=this._htDragInfo;htDragInfo.bHandleDown=false;this.fireEvent("handleUp",{weEvent:we,elHandle:htDragInfo.elHandle,elDrag:htDragInfo.elDrag});},_onDragStart:function(we){if(this._findDraggableElement(we.element)){we.stop(jindo.$Event.CANCEL_DEFAULT);}},_onSelectStart:function(we){if(this.isDragging()||this._findDraggableElement(we.element)){we.stop(jindo.$Event.CANCEL_DEFAULT);}}}).extend(jindo.UIComponent);
jindo.DefaultTextValue=jindo.$Class({$init:function(el,htOption){this.option({sValue:"",bActivateOnload:true});this.option(htOption||{});this._elBaseTarget=jindo.$(el);this._wfOnFocusAndBlur=jindo.$Fn(this._onFocusAndBlur,this);if(this.option("bActivateOnload")){this.activate();}},getBaseElement:function(){return this._elBaseTarget;},setDefault:function(){this.getBaseElement().value=this.option("sValue");return this;},setDefaultValue:function(sValue){var sOldValue=this.option("sValue");this.option("sValue",sValue);if(this.getBaseElement().value==sOldValue){this.setDefault();}
return this;},getDefaultValue:function(){return this.option("sValue");},paint:function(){return this;},_onActivate:function(){var elInput=this.getBaseElement();if(elInput.value==""){this.setDefault();}
this._wfOnFocusAndBlur.attach(elInput,"focus").attach(elInput,"blur");},_onDeactivate:function(){var elInput=this.getBaseElement();this._wfOnFocusAndBlur.detach(elInput,"focus").detach(elInput,"blur");},_onFocusAndBlur:function(we){var el=this._elBaseTarget;var sValue=el.value;switch(we.type){case"focus":if(sValue==this.getDefaultValue()){el.value="";el.select();}
break;case"blur":if(jindo.$S(sValue).trim().$value()==""){this.setDefault();}
break;}}}).extend(jindo.UIComponent);jindo.NumericStepper=jindo.$Class({_bIsOnFocus:false,$init:function(el,htOption){this._el=jindo.$(el);this.option({sClassPrefix:'ns-',bActivateOnload:true,bUseMouseWheel:false,nStep:1,nDecimalPoint:0,nMin:-Infinity,nMax:Infinity,nDefaultValue:0,bInputReadOnly:true});this.option(htOption||{});this._assignHTMLElements();this._initEventHandlers();if(this.option("bActivateOnload")){this.activate();}},_assignHTMLElements:function(){var sPrefix=this.option("sClassPrefix");this._elInput=jindo.$$.getSingle("."+sPrefix+"input",this._el);this._elPlusButton=jindo.$$.getSingle("."+sPrefix+"plus",this._el);this._elMinusButton=jindo.$$.getSingle("."+sPrefix+"minus",this._el);},_initEventHandlers:function(){this._wfPlusClick=jindo.$Fn(this._onPlusClick,this);this._wfMinusClick=jindo.$Fn(this._onMinusClick,this);this._wfWheel=jindo.$Fn(this._onWheel,this);this._wfFocus=jindo.$Fn(this._onFocus,this);this._wfBlur=jindo.$Fn(this._onBlur,this);},reset:function(){this._elInput.value=this.option("nDefaultValue").toFixed(this.option("nDecimalPoint"));},getValue:function(){return parseFloat(this._elInput.value);},setValue:function(n){n=n.toFixed(this.option("nDecimalPoint"));var nMin=this.option("nMin"),nMax=this.option("nMax"),htParam={"nValue":n,"nMin":nMin,"nMax":nMax};if(n>nMax||n<nMin){this.fireEvent("overLimit",htParam);return;}
if(!this.fireEvent("beforeChange",htParam)){return;}
this._elInput.value=htParam.nValue;this.fireEvent("change",htParam);},getBaseElement:function(){return this._el;},getInputElement:function(){return this._elInput;},getPlusElement:function(){return this._elPlusButton;},getMinusElement:function(){return this._elMinusButton;},isFocused:function(){return this._bIsOnFocus;},_onActivate:function(){var elInput=this.getInputElement();this._wfPlusClick.attach(this.getPlusElement(),"click");this._wfMinusClick.attach(this.getMinusElement(),"click");this._wfFocus.attach(elInput,"focus");this._wfBlur.attach(elInput,"blur");if(this.option("bUseMouseWheel")){this._wfWheel.attach(elInput,"mousewheel");}
this._elInput.readOnly=this.option("bInputReadOnly");this.reset();},_onDeactivate:function(){var elInput=this.getInputElement();this._wfPlusClick.detach(this.getPlusElement(),"click");this._wfMinusClick.detach(this.getMinusElement(),"click");this._wfInputClick.detach(elInput,"click");this._wfFocus.detach(elInput,"focus");this._wfBlur.detach(elInput,"blur");this._wfWheel.detach(elInput,"mousewheel");},_onMinusClick:function(we){this.setValue(this.getValue()-this.option("nStep"));},_onPlusClick:function(we){this.setValue(this.getValue()+this.option("nStep"));},_onWheel:function(we){if(this.isFocused()){we.stop(jindo.$Event.CANCEL_DEFAULT);if(we.mouse().delta>0){this._onPlusClick();}else{this._onMinusClick();}}},_onFocus:function(we){this._bIsOnFocus=true;},_onBlur:function(we){this._bIsOnFocus=false;this.setValue(this.getValue());this._elInput.readOnly=this.option("bInputReadOnly");}}).extend(jindo.UIComponent);jindo.LazyLoading={_bIE:jindo.$Agent().navigator().ie,_waLoading:jindo.$A([]),_waLoaded:jindo.$A([]),_whtScript:jindo.$H({}),_whtCallback:jindo.$H({})};jindo.LazyLoading.load=function(sUrl,fCallback,sCharset){if(typeof fCallback!="function"){fCallback=function(){};}
this._queueCallback(sUrl,fCallback);if(this._checkIsLoading(sUrl)){return false;}
if(this._checkAlreadyLoaded(sUrl)){this._doCallback(sUrl);return true;}
this._waLoading.push(sUrl);var self=this;var elHead=document.getElementsByTagName("head")[0];var elScript=document.createElement("script");elScript.type="text/javascript";elScript.charset=sCharset||"utf-8";elScript.src=sUrl;this._whtScript.add(sUrl,elScript);if(this._bIE){elScript.onreadystatechange=function(){if(this.readyState=="complete"||this.readyState=="loaded"){self._waLoaded.push(sUrl);self._waLoading=self._waLoading.refuse(sUrl);self._doCallback(sUrl);this.onreadystatechange=null;}};}else{elScript.onload=function(){self._waLoaded.push(sUrl);self._waLoading=self._waLoading.refuse(sUrl);self._doCallback(sUrl);};}
elHead.appendChild(elScript);return true;};jindo.LazyLoading._queueCallback=function(sUrl,fCallback){var aCallback=this._whtCallback.$(sUrl);if(aCallback){aCallback.push(fCallback);}else{this._whtCallback.$(sUrl,[fCallback]);}};jindo.LazyLoading._doCallback=function(sUrl){var aCallback=this._whtCallback.$(sUrl).concat();for(var i=0;i<aCallback.length;i++){this._whtCallback.$(sUrl).splice(i,1);aCallback[i]();}};jindo.LazyLoading.abort=function(sUrl){if(this._checkIsLoading(sUrl)){var elScript=this.getScriptElement(sUrl);this._waLoading=this._waLoading.refuse(sUrl);if(this._bIE){elScript.onreadystatechange=null;}else{elScript.onload=null;}
jindo.$Element(elScript).leave();this._whtScript.remove(sUrl);this._whtCallback.remove(sUrl);return true;}else{return false;}};jindo.LazyLoading._checkAlreadyLoaded=function(sUrl){return this._waLoaded.has(sUrl);};jindo.LazyLoading._checkIsLoading=function(sUrl){return this._waLoading.has(sUrl);};jindo.LazyLoading.getLoaded=function(){return this._waLoaded.$value();};jindo.LazyLoading.getLoading=function(){return this._waLoading.$value();};jindo.LazyLoading.getScriptElement=function(sUrl){return this._whtScript.$(sUrl)||null;};

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -0,0 +1,105 @@
/**
* @use 간단 포토 업로드용으로 제작되었습니다.
* @author cielo
* @See nhn.husky.SE2M_Configuration
* @ 팝업 마크업은 SimplePhotoUpload.html과 SimplePhotoUpload_html5.html이 있습니다.
*/
nhn.husky.SE2M_AttachQuickPhoto = jindo.$Class({
name : "SE2M_AttachQuickPhoto",
$init : function(){},
$ON_MSG_APP_READY : function(){
this.oApp.exec("REGISTER_UI_EVENT", ["photo_attach", "click", "ATTACHPHOTO_OPEN_WINDOW"]);
},
$LOCAL_BEFORE_FIRST : function(sMsg){
if(!!this.oPopupMgr){ return; }
// Popup Manager에서 사용할 param
this.htPopupOption = {
oApp : this.oApp,
sName : this.name,
bScroll : false,
sProperties : "",
sUrl : ""
};
this.oPopupMgr = nhn.husky.PopUpManager.getInstance(this.oApp);
},
/**
* 포토 웹탑 오픈
*/
$ON_ATTACHPHOTO_OPEN_WINDOW : function(){
this.htPopupOption.sUrl = this.makePopupURL();
this.htPopupOption.sProperties = "left=0,top=0,width=420,height=200,scrollbars=no,location=no,status=0,resizable=no";
this.oPopupWindow = this.oPopupMgr.openWindow(this.htPopupOption);
// 처음 로딩하고 IE에서 커서가 전혀 없는 경우
// 복수 업로드시에 순서가 바뀜
this.oApp.exec('FOCUS');
return (!!this.oPopupWindow ? true : false);
},
/**
* 서비스별로 팝업에 parameter를 추가하여 URL을 생성하는 함수
* nhn.husky.SE2M_AttachQuickPhoto.prototype.makePopupURL로 덮어써서 사용하시면 .
*/
makePopupURL : function(){
var sPopupUrl = '/SmartEditor/wfw/file_pop.jsp';
return sPopupUrl;
},
/**
* 팝업에서 호출되는 메세지.
*/
$ON_SET_PHOTO : function(aPhotoData){
var sContents,
aPhotoInfo,
htData;
if( !aPhotoData ){
return;
}
try{
sContents = "";
for(var i = 0; i <aPhotoData.length; i++){
htData = aPhotoData[i];
if(!htData.sAlign){
htData.sAlign = "";
}
aPhotoInfo = {
sName : htData.sFileName || "",
sOriginalImageURL : htData.sFileURL,
bNewLine : htData.bNewLine || false
};
sContents += this._getPhotoTag(aPhotoInfo);
}
this.oApp.exec("PASTE_HTML", [sContents]); // 위즐 첨부 파일 부분 확인
}catch(e){
// upload시 error발생에 대해서 skip함
return false;
}
},
/**
* @use 일반 포토 tag 생성
*/
_getPhotoTag : function(htPhotoInfo){
// id와 class는 썸네일과 연관이 많습니다. 수정시 썸네일 영역도 Test
var sTag = '<img src="{=sOriginalImageURL}" title="{=sName}" >';
if(htPhotoInfo.bNewLine){
sTag += '<br style="clear:both;">';
}
sTag = jindo.$Template(sTag).process(htPhotoInfo);
return sTag;
}
});

@ -0,0 +1,675 @@
//변수 선언 및 초기화
var nImageInfoCnt = 0;
var htImageInfo = []; //image file정보 저장
var aResult = [];
var rFilter = /^(image\/bmp|image\/gif|image\/jpg|image\/jpeg|image\/png)$/i;
var rFilter2 = /^(bmp|gif|jpg|jpeg|png)$/i;
var nTotalSize = 0;
var nMaxImageSize = 10*1024*1024;
var nMaxTotalImageSize = 50*1024*1024;
var nMaxImageCount = 10;
var nImageFileCount = 0;
var bSupportDragAndDropAPI = false;
var oFileUploader;
var bAttachEvent = false;
//마크업에 따른 할당
var elContent= $("pop_content");
var elDropArea = jindo.$$.getSingle(".drag_area",elContent);
var elDropAreaUL = jindo.$$.getSingle(".lst_type",elContent);
var elCountTxtTxt = jindo.$$.getSingle("#imageCountTxt",elContent);
var elTotalSizeTxt = jindo.$$.getSingle("#totalSizeTxt",elContent);
var elTextGuide = $("guide_text");
var welUploadInputBox = $Element("uploadInputBox");
var oNavigator = jindo.$Agent().navigator();
//마크업-공통
var welBtnConfirm = $Element("btn_confirm"); //확인 버튼
var welBtnCancel= $Element("btn_cancel"); //취소 버튼
//진도로 랩핑된 element
var welTextGuide = $Element(elTextGuide);
var welDropArea = $Element(elDropArea);
var welDropAreaUL = $Element(elDropAreaUL);
var fnUploadImage = null;
//File API 지원 여부로 결정
function checkDragAndDropAPI(){
try{
if( !oNavigator.ie ){
if(!!oNavigator.safari && oNavigator.version <= 5){
bSupportDragAndDropAPI = false;
}else{
bSupportDragAndDropAPI = true;
}
} else {
bSupportDragAndDropAPI = false;
}
}catch(e){
bSupportDragAndDropAPI = false;
}
}
//--------------- html5 미지원 브라우저에서 (IE9 이하) ---------------
/**
* 이미지를 첨부 활성화된 버튼 상태
*/
function goStartMode(){
var sSrc = welBtnConfirm.attr("src")|| "";
if(sSrc.indexOf("btn_confirm2.png") < 0 ){
welBtnConfirm.attr("src","../../img/photoQuickPopup/btn_confirm2.png");
fnUploadImage.attach(welBtnConfirm.$value(), "click");
}
}
/**
* 이미지를 첨부 비활성화된 버튼 상태
* @return
*/
function goReadyMode(){
var sSrc = welBtnConfirm.attr("src")|| "";
if(sSrc.indexOf("btn_confirm2.png") >= 0 ){
fnUploadImage.detach(welBtnConfirm.$value(), "click");
welBtnConfirm.attr("src","../../img/photoQuickPopup/btn_confirm.png");
}
}
/**
* 일반 업로드
* @desc oFileUploader의 upload함수를 호출함.
*/
function generalUpload(){
oFileUploader.upload();
}
/**
* 이미지 첨부 안내 텍스트가 나오는 배경으로 '설정'하는 함수.
* @return
*/
function readyModeBG (){
var sClass = welTextGuide.className();
if(sClass.indexOf('nobg') >= 0){
welTextGuide.removeClass('nobg');
welTextGuide.className('bg');
}
}
/**
* 이미지 첨부 안내 텍스트가 나오는 배경을 '제거'하는 함수.
* @return
*/
function startModeBG (){
var sClass = welTextGuide.className();
if(sClass.indexOf('nobg') < 0){
welTextGuide.removeClass('bg');
welTextGuide.className('nobg');
}
}
//--------------------- html5 지원되는 브라우저에서 사용하는 함수 --------------------------
/**
* 팝업에 노출될 업로드 예정 사진의 .
* @param {Object} nCount 현재 업로드 예정인 사진 장수
* @param {Object} nVariable 삭제되는
*/
function updateViewCount (nCount, nVariable){
var nCnt = nCount + nVariable;
elCountTxtTxt.innerHTML = nCnt +"장";
nImageFileCount = nCnt;
return nCnt;
}
/**
* 팝업에 노출될 업로드될 사진 용량
*/
function updateViewTotalSize(){
var nViewTotalSize = Number(parseInt((nTotalSize || 0), 10) / (1024*1024));
elTotalSizeTxt.innerHTML = nViewTotalSize.toFixed(2) +"MB";
}
/**
* 이미지 전체 용량 재계산.
* @param {Object} sParentId
*/
function refreshTotalImageSize(sParentId){
var nDelImgSize = htImageInfo[sParentId].size;
if(nTotalSize - nDelImgSize > -1 ){
nTotalSize = nTotalSize - nDelImgSize;
}
}
/**
* hash table에서 이미지 정보 초기화.
* @param {Object} sParentId
*/
function removeImageInfo (sParentId){
//삭제된 이미지의 공간을 초기화 한다.
htImageInfo[sParentId] = null;
}
/**
* byte로 받은 이미지 용량을 화면에 표시를 위해 포맷팅
* @param {Object} nByte
*/
function setUnitString (nByte) {
var nImageSize;
var sUnit;
if(nByte < 0 ){
nByte = 0;
}
if( nByte < 1024) {
nImageSize = Number(nByte);
sUnit = 'B';
return nImageSize + sUnit;
} else if( nByte > (1024*1024)) {
nImageSize = Number(parseInt((nByte || 0), 10) / (1024*1024));
sUnit = 'MB';
return nImageSize.toFixed(2) + sUnit;
} else {
nImageSize = Number(parseInt((nByte || 0), 10) / 1024);
sUnit = 'KB';
return nImageSize.toFixed(0) + sUnit;
}
}
/**
* 화면 목록에 적당하게 이름을 잘라서 표시.
* @param {Object} sName 파일명
* @param {Object} nMaxLng 최대 길이
*/
function cuttingNameByLength (sName, nMaxLng) {
var sTemp, nIndex;
if(sName.length > nMaxLng){
nIndex = sName.indexOf(".");
sTemp = sName.substring(0,nMaxLng) + "..." + sName.substring(nIndex,sName.length) ;
} else {
sTemp = sName;
}
return sTemp;
}
/**
* Total Image Size를 체크해서 추가로 이미지를 넣을지 말지를 결정함.
* @param {Object} nByte
*/
function checkTotalImageSize(nByte){
if( nTotalSize + nByte < nMaxTotalImageSize){
nTotalSize = nTotalSize + nByte;
return false;
} else {
return true;
}
}
// 이벤트 핸들러 할당
function dragEnter(ev) {
ev.stopPropagation();
ev.preventDefault();
}
function dragExit(ev) {
ev.stopPropagation();
ev.preventDefault();
}
function dragOver(ev) {
ev.stopPropagation();
ev.preventDefault();
}
/**
* 드랍 영역에 사진을 떨구는 순간 발생하는 이벤트
* @param {Object} ev
*/
function drop(ev) {
ev.stopPropagation();
ev.preventDefault();
if (nImageFileCount >= 10){
alert("최대 10장까지만 등록할 수 있습니다.");
return;
}
if(typeof ev.dataTransfer.files == 'undefined'){
alert("HTML5를 지원하지 않는 브라우저입니다.");
}else{
//변수 선언
var wel,
files,
nCount,
sListTag = '';
//초기화
files = ev.dataTransfer.files;
nCount = files.length;
if (!!files && nCount === 0){
//파일이 아닌, 웹페이지에서 이미지를 드래서 놓는 경우.
alert("정상적인 첨부방식이 아닙니다.");
return ;
}
for (var i = 0, j = nImageFileCount ; i < nCount ; i++){
if (!rFilter.test(files[i].type)) {
alert("이미지파일 (jpg,gif,png,bmp)만 업로드 가능합니다.");
} else if(files[i].size > nMaxImageSize){
alert("이미지 용량이 10MB를 초과하여 등록할 수 없습니다.");
} else {
//제한된 수만 업로드 가능.
if ( j < nMaxImageCount ){
sListTag += addImage(files[i]);
//다음 사진을위한 셋팅
j = j+1;
nImageInfoCnt = nImageInfoCnt+1;
} else {
alert("최대 10장까지만 등록할 수 있습니다.");
break;
}
}
}
if(j > 0){
//배경 이미지 변경
startModeBG();
if ( sListTag.length > 1){
welDropAreaUL.prependHTML(sListTag);
}
//이미지 총사이즈 view update
updateViewTotalSize();
//이미치 총 수 view update
nImageFileCount = j;
updateViewCount(nImageFileCount, 0);
// 저장 버튼 활성화
goStartMode();
}else{
readyModeBG();
}
}
}
/**
* 이미지를 추가하기 위해서 file을 저장하고, 목록에 보여주기 위해서 string을 만드는 함수.
* @param ofile 한개의 이미지 파일
* @return
*/
function addImage(ofile){
//파일 사이즈
var ofile = ofile,
sFileSize = 0,
sFileName = "",
sLiTag = "",
bExceedLimitTotalSize = false,
aFileList = [];
sFileSize = setUnitString(ofile.size);
sFileName = cuttingNameByLength(ofile.name, 15);
bExceedLimitTotalSize = checkTotalImageSize(ofile.size);
if( !!bExceedLimitTotalSize ){
alert("전체 이미지 용량이 50MB를 초과하여 등록할 수 없습니다. \n\n (파일명 : "+sFileName+", 사이즈 : "+sFileSize+")");
} else {
//이미지 정보 저장
htImageInfo['img'+nImageInfoCnt] = ofile;
//List 마크업 생성하기
aFileList.push(' <li id="img'+nImageInfoCnt+'" class="imgLi"><span>'+ sFileName +'</span>');
aFileList.push(' <em>'+ sFileSize +'</em>');
aFileList.push(' <a onclick="delImage(\'img'+nImageInfoCnt+'\')"><img class="del_button" src="../../img/photoQuickPopup/btn_del.png" width="14" height="13" alt="첨부 사진 삭제"></a>');
aFileList.push(' </li> ');
sLiTag = aFileList.join(" ");
aFileList = [];
}
return sLiTag;
}
/**
* HTML5 DragAndDrop으로 사진을 추가하고, 확인버튼을 누른 경우에 동작한다.
* @return
*/
function html5Upload() {
var tempFile,
sUploadURL;
sUploadURL= 'file_uploader_html5.php'; //upload URL
//파일을 하나씩 보내고, 결과를 받음.
for(var j=0, k=0; j < nImageInfoCnt; j++) {
tempFile = htImageInfo['img'+j];
try{
if(!!tempFile){
//Ajax통신하는 부분. 파일과 업로더할 url을 전달한다.
callAjaxForHTML5(tempFile,sUploadURL);
k += 1;
}
}catch(e){}
tempFile = null;
}
}
function callAjaxForHTML5 (tempFile, sUploadURL){
var oAjax = jindo.$Ajax(sUploadURL, {
type: 'xhr',
method : "post",
onload : function(res){ // 요청이 완료되면 실행될 콜백 함수
if (res.readyState() == 4) {
//성공 시에 responseText를 가지고 array로 만드는 부분.
makeArrayFromString(res._response.responseText);
}
},
timeout : 3,
onerror : jindo.$Fn(onAjaxError, this).bind()
});
oAjax.header("contentType","multipart/form-data");
oAjax.header("file-name",encodeURIComponent(tempFile.name));
oAjax.header("file-size",tempFile.size);
oAjax.header("file-Type",tempFile.type);
oAjax.request(tempFile);
}
function makeArrayFromString(sResString){
var aTemp = [],
aSubTemp = [],
htTemp = {}
aResultleng = 0;
try{
if(!sResString || sResString.indexOf("sFileURL") < 0){
return ;
}
aTemp = sResString.split("&");
for (var i = 0; i < aTemp.length ; i++){
if( !!aTemp[i] && aTemp[i] != "" && aTemp[i].indexOf("=") > 0){
aSubTemp = aTemp[i].split("=");
htTemp[aSubTemp[0]] = aSubTemp[1];
}
}
}catch(e){}
aResultleng = aResult.length;
aResult[aResultleng] = htTemp;
if(aResult.length == nImageFileCount){
setPhotoToEditor(aResult);
aResult = null;
window.close();
}
}
/**
* 사진 삭제 시에 호출되는 함수
* @param {Object} sParentId
*/
function delImage (sParentId){
var elLi = jindo.$$.getSingle("#"+sParentId);
refreshTotalImageSize(sParentId);
updateViewTotalSize();
updateViewCount(nImageFileCount,-1);
//사진 file array에서 정보 삭제.
removeImageInfo(sParentId);
//해당 li삭제
$Element(elLi).leave();
//마지막 이미지인경우.
if(nImageFileCount === 0){
readyModeBG();
//사진 추가 버튼 비활성화
goReadyMode();
}
// drop 영역 이벤트 다시 활성화.
if(!bAttachEvent){
addEvent();
}
}
/**
* 이벤트 할당
*/
function addEvent() {
bAttachEvent = true;
elDropArea.addEventListener("dragenter", dragEnter, false);
elDropArea.addEventListener("dragexit", dragExit, false);
elDropArea.addEventListener("dragover", dragOver, false);
elDropArea.addEventListener("drop", drop, false);
}
function removeEvent(){
bAttachEvent = false;
elDropArea.removeEventListener("dragenter", dragEnter, false);
elDropArea.removeEventListener("dragexit", dragExit, false);
elDropArea.removeEventListener("dragover", dragOver, false);
elDropArea.removeEventListener("drop", drop, false);
}
/**
* Ajax 통신 error가 발생할 처리하는 함수입니다.
* @return
*/
function onAjaxError (){
alert("[가이드]사진 업로더할 서버URL셋팅이 필요합니다.-onAjaxError");
}
/**
* 이미지 업로드 시작
* 확인 버튼 클릭하면 호출되는 msg
*/
function uploadImage (e){
if(!bSupportDragAndDropAPI){
generalUpload();
}else{
html5Upload();
}
}
/**
* jindo에 파일 업로드 사용.(iframe에 Form을 Submit하여 리프레시없이 파일을 업로드하는 컴포넌트)
*/
function callFileUploader (){
oFileUploader = new jindo.FileUploader(jindo.$("uploadInputBox"),{
sUrl : location.href.replace(/\/[^\/]*$/, '') + '/file_uploader.php', //샘플 URL입니다.
sCallback : location.href.replace(/\/[^\/]*$/, '') + '/callback.html', //업로드 이후에 iframe이 redirect될 콜백페이지의 주소
sFiletype : "*.jpg;*.png;*.bmp;*.gif", //허용할 파일의 형식. ex) "*", "*.*", "*.jpg", 구분자(;)
sMsgNotAllowedExt : 'JPG, GIF, PNG, BMP 확장자만 가능합니다', //허용할 파일의 형식이 아닌경우에 띄워주는 경고창의 문구
bAutoUpload : false, //파일이 선택됨과 동시에 자동으로 업로드를 수행할지 여부 (upload 메소드 수행)
bAutoReset : true // 업로드한 직후에 파일폼을 리셋 시킬지 여부 (reset 메소드 수행)
}).attach({
select : function(oCustomEvent) {
//파일 선택이 완료되었을 때 발생
// oCustomEvent (이벤트 객체) = {
// sValue (String) 선택된 File Input의 값
// bAllowed (Boolean) 선택된 파일의 형식이 허용되는 형식인지 여부
// sMsgNotAllowedExt (String) 허용되지 않는 파일 형식인 경우 띄워줄 경고메세지
// }
// 선택된 파일의 형식이 허용되는 경우만 처리
if(oCustomEvent.bAllowed === true){
goStartMode();
}else{
goReadyMode();
oFileUploader.reset();
}
// bAllowed 값이 false인 경우 경고문구와 함께 alert 수행
// oCustomEvent.stop(); 수행시 bAllowed 가 false이더라도 alert이 수행되지 않음
},
success : function(oCustomEvent) {
// alert("success");
// 업로드가 성공적으로 완료되었을 때 발생
// oCustomEvent(이벤트 객체) = {
// htResult (Object) 서버에서 전달해주는 결과 객체 (서버 설정에 따라 유동적으로 선택가능)
// }
var aResult = [];
aResult[0] = oCustomEvent.htResult;
setPhotoToEditor(aResult);
//버튼 비활성화
goReadyMode();
oFileUploader.reset();
window.close();
},
error : function(oCustomEvent) {
//업로드가 실패했을 때 발생
//oCustomEvent(이벤트 객체) = {
// htResult : { (Object) 서버에서 전달해주는 결과 객체. 에러발생시 errstr 프로퍼티를 반드시 포함하도록 서버 응답을 설정하여야한다.
// errstr : (String) 에러메시지
// }
//}
//var wel = jindo.$Element("info");
//wel.html(oCustomEvent.htResult.errstr);
alert(oCustomEvent.htResult.errstr);
}
});
}
/**
* 페이지 닫기 버튼 클릭
*/
function closeWindow(){
if(bSupportDragAndDropAPI){
removeEvent();
}
window.close();
}
window.onload = function(){
checkDragAndDropAPI();
if(bSupportDragAndDropAPI){
$Element("pop_container2").hide();
$Element("pop_container").show();
welTextGuide.removeClass("nobg");
welTextGuide.className("bg");
addEvent();
} else {
$Element("pop_container").hide();
$Element("pop_container2").show();
callFileUploader();
}
fnUploadImage = $Fn(uploadImage,this);
$Fn(closeWindow,this).attach(welBtnCancel.$value(), "click");
};
/**
* 서버로부터 받은 데이타를 에디터에 전달하고 창을 닫음.
* @parameter aFileInfo [{},{},...]
* @ex aFileInfo = [
* {
sFileName : "nmms_215646753.gif",
sFileURL :"http://static.naver.net/www/u/2010/0611/nmms_215646753.gif",
bNewLine : true
},
{
sFileName : "btn_sch_over.gif",
sFileURL :"http://static1.naver.net/w9/btn_sch_over.gif",
bNewLine : true
}
* ]
*/
function setPhotoToEditor(oFileInfo){
if (!!opener && !!opener.nhn && !!opener.nhn.husky && !!opener.nhn.husky.PopUpManager) {
//스마트 에디터 플러그인을 통해서 넣는 방법 (oFileInfo는 Array)
opener.nhn.husky.PopUpManager.setCallback(window, 'SET_PHOTO', [oFileInfo]);
//본문에 바로 tag를 넣는 방법 (oFileInfo는 String으로 <img src=....> )
//opener.nhn.husky.PopUpManager.setCallback(window, 'PASTE_HTML', [oFileInfo]);
}
}
// 2012.05 현재] jindo.$Ajax.prototype.request에서 file과 form을 지원하지 안함.
jindo.$Ajax.prototype.request = function(oData) {
this._status++;
var t = this;
var req = this._request;
var opt = this._options;
var data, v,a = [], data = "";
var _timer = null;
var url = this._url;
this._is_abort = false;
if( opt.postBody && opt.type.toUpperCase()=="XHR" && opt.method.toUpperCase()!="GET"){
if(typeof oData == 'string'){
data = oData;
}else{
data = jindo.$Json(oData).toString();
}
}else if (typeof oData == "undefined" || !oData) {
data = null;
} else {
data = oData;
}
req.open(opt.method.toUpperCase(), url, opt.async);
if (opt.sendheader) {
if(!this._headers["Content-Type"]){
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
}
req.setRequestHeader("charset", "utf-8");
for (var x in this._headers) {
if(this._headers.hasOwnProperty(x)){
if (typeof this._headers[x] == "function")
continue;
req.setRequestHeader(x, String(this._headers[x]));
}
}
}
var navi = navigator.userAgent;
if(req.addEventListener&&!(navi.indexOf("Opera") > -1)&&!(navi.indexOf("MSIE") > -1)){
/*
* opera 10.60에서 XMLHttpRequest에 addEventListener기 추가되었지만 정상적으로 동작하지 않아 opera는 무조건 dom1방식으로 지원함.
* IE9에서도 opera와 같은 문제가 있음.
*/
if(this._loadFunc){ req.removeEventListener("load", this._loadFunc, false); }
this._loadFunc = function(rq){
clearTimeout(_timer);
_timer = undefined;
t._onload(rq);
}
req.addEventListener("load", this._loadFunc, false);
}else{
if (typeof req.onload != "undefined") {
req.onload = function(rq){
if(req.readyState == 4 && !t._is_abort){
clearTimeout(_timer);
_timer = undefined;
t._onload(rq);
}
};
} else {
/*
* IE6에서는 onreadystatechange가 동기적으로 실행되어 timeout이벤트가 발생안됨.
* 그래서 interval로 체크하여 timeout이벤트가 정상적으로 발생되도록 수정. 비동기 방식일때만
*/
if(window.navigator.userAgent.match(/(?:MSIE) ([0-9.]+)/)[1]==6&&opt.async){
var onreadystatechange = function(rq){
if(req.readyState == 4 && !t._is_abort){
if(_timer){
clearTimeout(_timer);
_timer = undefined;
}
t._onload(rq);
clearInterval(t._interval);
t._interval = undefined;
}
};
this._interval = setInterval(onreadystatechange,300);
}else{
req.onreadystatechange = function(rq){
if(req.readyState == 4){
clearTimeout(_timer);
_timer = undefined;
t._onload(rq);
}
};
}
}
}
req.send(data);
return this;
};

@ -0,0 +1,32 @@
<!DOCTYPE HTML>
<html lang="ko">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FileUploader Callback</title>
</head>
<body>
<script type="text/javascript">
// alert("callback");
// document.domain 설정
try { document.domain = "http://*.naver.com"; } catch(e) {}
// execute callback script
var sUrl = document.location.search.substr(1);
if (sUrl != "blank") {
var oParameter = {}; // query array
sUrl.replace(/([^=]+)=([^&]*)(&|$)/g, function(){
oParameter[arguments[1]] = arguments[2];
return "";
});
if ((oParameter.errstr || '').length) { // on error
(parent.jindo.FileUploader._oCallback[oParameter.callback_func+'_error'])(oParameter);
} else {
(parent.jindo.FileUploader._oCallback[oParameter.callback_func+'_success'])(oParameter);
}
}
</script>
</body>
</html>

@ -0,0 +1,32 @@
<?php
echo $_REQUEST["htImageInfo"];
// default redirection
$url = $_REQUEST["callback"].'?callback_func='.$_REQUEST["callback_func"];
$bSuccessUpload = is_uploaded_file($_FILES['Filedata']['tmp_name']);
// SUCCESSFUL
if(bSuccessUpload) {
$tmp_name = $_FILES['Filedata']['tmp_name'];
$name = $_FILES['Filedata']['name'];
$uploadDir = '../../upload/';
if(!is_dir($uploadDir)){
mkdir($uploadDir, 0777);
}
$newPath = $uploadDir.urlencode($_FILES['Filedata']['name']);
@move_uploaded_file($tmp_name, $new_path);
$url .= "&bNewLine=true";
$url .= "&sFileName=".urlencode(urlencode($name));
$url .= "&sFileURL=/smarteditor/demo/upload/".urlencode(urlencode($name));
}
// FAILED
else {
$url .= '&errstr=error';
}
header('Location: '. $url);
?>

@ -0,0 +1,31 @@
<?php
$sFileInfo = '';
$headers = array();
foreach($_SERVER as $k => $v) {
if(substr($k, 0, 9) == "HTTP_FILE") {
$k = substr(strtolower($k), 5);
$headers[$k] = $v;
}
}
$file = new stdClass;
$file->name = rawurldecode($headers['file_name']);
$file->size = $headers['file_size'];
$file->content = file_get_contents("php://input");
$uploadDir = '../../upload/';
if(!is_dir($uploadDir)){
mkdir($uploadDir, 0777);
}
$newPath = $uploadDir.iconv("utf-8", "cp949", $file->name);
if(file_put_contents($newPath, $file->content)) {
$sFileInfo .= "&bNewLine=true";
$sFileInfo .= "&sFileName=".$file->name;
$sFileInfo .= "&sFileURL=/smarteditor/demo/upload/".$file->name;
}
echo $sFileInfo;
?>

@ -0,0 +1,390 @@
/**
* Jindo Component
* @version 1.0.3
* NHN_Library:Jindo_Component-1.0.3;JavaScript Components for Jindo;
* @include Component, UIComponent, FileUploader
*/
jindo.Component = jindo.$Class({
_htEventHandler: null,
_htOption: null,
$init: function () {
var aInstance = this.constructor.getInstance();
aInstance.push(this);
this._htEventHandler = {};
this._htOption = {};
this._htOption._htSetter = {};
},
option: function (sName, vValue) {
switch (typeof sName) {
case "undefined":
return this._htOption;
case "string":
if (typeof vValue != "undefined") {
if (sName == "htCustomEventHandler") {
if (typeof this._htOption[sName] == "undefined") {
this.attach(vValue);
} else {
return this;
}
}
this._htOption[sName] = vValue;
if (typeof this._htOption._htSetter[sName] == "function") {
this._htOption._htSetter[sName](vValue);
}
} else {
return this._htOption[sName];
}
break;
case "object":
for (var sKey in sName) {
if (sKey == "htCustomEventHandler") {
if (typeof this._htOption[sKey] == "undefined") {
this.attach(sName[sKey]);
} else {
continue;
}
}
this._htOption[sKey] = sName[sKey];
if (typeof this._htOption._htSetter[sKey] == "function") {
this._htOption._htSetter[sKey](sName[sKey]);
}
}
break;
}
return this;
},
optionSetter: function (sName, fSetter) {
switch (typeof sName) {
case "undefined":
return this._htOption._htSetter;
case "string":
if (typeof fSetter != "undefined") {
this._htOption._htSetter[sName] = jindo.$Fn(fSetter, this).bind();
} else {
return this._htOption._htSetter[sName];
}
break;
case "object":
for (var sKey in sName) {
this._htOption._htSetter[sKey] = jindo.$Fn(sName[sKey], this).bind();
}
break;
}
return this;
},
fireEvent: function (sEvent, oEvent) {
oEvent = oEvent || {};
var fInlineHandler = this['on' + sEvent],
aHandlerList = this._htEventHandler[sEvent] || [],
bHasInlineHandler = typeof fInlineHandler == "function",
bHasHandlerList = aHandlerList.length > 0;
if (!bHasInlineHandler && !bHasHandlerList) {
return true;
}
aHandlerList = aHandlerList.concat();
oEvent.sType = sEvent;
if (typeof oEvent._aExtend == 'undefined') {
oEvent._aExtend = [];
oEvent.stop = function () {
if (oEvent._aExtend.length > 0) {
oEvent._aExtend[oEvent._aExtend.length - 1].bCanceled = true;
}
};
}
oEvent._aExtend.push({
sType: sEvent,
bCanceled: false
});
var aArg = [oEvent],
i, nLen;
for (i = 2, nLen = arguments.length; i < nLen; i++) {
aArg.push(arguments[i]);
}
if (bHasInlineHandler) {
fInlineHandler.apply(this, aArg);
}
if (bHasHandlerList) {
var fHandler;
for (i = 0, fHandler;
(fHandler = aHandlerList[i]); i++) {
fHandler.apply(this, aArg);
}
}
return !oEvent._aExtend.pop().bCanceled;
},
attach: function (sEvent, fHandlerToAttach) {
if (arguments.length == 1) {
jindo.$H(arguments[0]).forEach(jindo.$Fn(function (fHandler, sEvent) {
this.attach(sEvent, fHandler);
}, this).bind());
return this;
}
var aHandler = this._htEventHandler[sEvent];
if (typeof aHandler == 'undefined') {
aHandler = this._htEventHandler[sEvent] = [];
}
aHandler.push(fHandlerToAttach);
return this;
},
detach: function (sEvent, fHandlerToDetach) {
if (arguments.length == 1) {
jindo.$H(arguments[0]).forEach(jindo.$Fn(function (fHandler, sEvent) {
this.detach(sEvent, fHandler);
}, this).bind());
return this;
}
var aHandler = this._htEventHandler[sEvent];
if (aHandler) {
for (var i = 0, fHandler;
(fHandler = aHandler[i]); i++) {
if (fHandler === fHandlerToDetach) {
aHandler = aHandler.splice(i, 1);
break;
}
}
}
return this;
},
detachAll: function (sEvent) {
var aHandler = this._htEventHandler;
if (arguments.length) {
if (typeof aHandler[sEvent] == 'undefined') {
return this;
}
delete aHandler[sEvent];
return this;
}
for (var o in aHandler) {
delete aHandler[o];
}
return this;
}
});
jindo.Component.factory = function (aObject, htOption) {
var aReturn = [],
oInstance;
if (typeof htOption == "undefined") {
htOption = {};
}
for (var i = 0, el;
(el = aObject[i]); i++) {
oInstance = new this(el, htOption);
aReturn[aReturn.length] = oInstance;
}
return aReturn;
};
jindo.Component.getInstance = function () {
if (typeof this._aInstance == "undefined") {
this._aInstance = [];
}
return this._aInstance;
};
jindo.UIComponent = jindo.$Class({
$init: function () {
this._bIsActivating = false;
},
isActivating: function () {
return this._bIsActivating;
},
activate: function () {
if (this.isActivating()) {
return this;
}
this._bIsActivating = true;
if (arguments.length > 0) {
this._onActivate.apply(this, arguments);
} else {
this._onActivate();
}
return this;
},
deactivate: function () {
if (!this.isActivating()) {
return this;
}
this._bIsActivating = false;
if (arguments.length > 0) {
this._onDeactivate.apply(this, arguments);
} else {
this._onDeactivate();
}
return this;
}
}).extend(jindo.Component);
jindo.FileUploader = jindo.$Class({
_bIsActivating: false,
_aHiddenInput: [],
$init: function (elFileSelect, htOption) {
var htDefaultOption = {
sUrl: '',
sCallback: '',
htData: {},
sFiletype: '*',
sMsgNotAllowedExt: "업로드가 허용되지 않는 파일형식입니다",
bAutoUpload: false,
bAutoReset: true,
bActivateOnload: true
};
this.option(htDefaultOption);
this.option(htOption || {});
this._el = jindo.$(elFileSelect);
this._wel = jindo.$Element(this._el);
this._elForm = this._el.form;
this._aHiddenInput = [];
this.constructor._oCallback = {};
this._wfChange = jindo.$Fn(this._onFileSelectChange, this);
if (this.option("bActivateOnload")) {
this.activate();
}
},
_appendIframe: function () {
var sIframeName = 'tmpFrame_' + this._makeUniqueId();
this._welIframe = jindo.$Element(jindo.$('<iframe name="' + sIframeName + '" src="' + this.option("sCallback") + '?blank">')).css({
width: '10px',
border: '2px',
height: '10px',
left: '10px',
top: '10px'
});
document.body.appendChild(this._welIframe.$value());
},
_removeIframe: function () {
this._welIframe.leave();
},
getBaseElement: function () {
return this.getFileSelect();
},
getFileSelect: function () {
return this._el;
},
getFormElement: function () {
return this._elForm;
},
upload: function () {
this._appendIframe();
var elForm = this.getFormElement(),
welForm = jindo.$Element(elForm),
sIframeName = this._welIframe.attr("name"),
sFunctionName = sIframeName + '_func',
sAction = this.option("sUrl");
welForm.attr({
target: sIframeName,
action: sAction
});
this._aHiddenInput.push(this._createElement('input', {
'type': 'hidden',
'name': 'callback',
'value': this.option("sCallback")
}));
this._aHiddenInput.push(this._createElement('input', {
'type': 'hidden',
'name': 'callback_func',
'value': sFunctionName
}));
for (var k in this.option("htData")) {
this._aHiddenInput.push(this._createElement('input', {
'type': 'hidden',
'name': k,
'value': this.option("htData")[k]
}));
}
for (var i = 0; i < this._aHiddenInput.length; i++) {
elForm.appendChild(this._aHiddenInput[i]);
}
this.constructor._oCallback[sFunctionName + '_success'] = jindo.$Fn(function (oParameter) {
this.fireEvent("success", {
htResult: oParameter
});
delete this.constructor._oCallback[oParameter.callback_func + '_success'];
delete this.constructor._oCallback[oParameter.callback_func + '_error'];
for (var i = 0; i < this._aHiddenInput.length; i++) {
jindo.$Element(this._aHiddenInput[i]).leave();
}
this._aHiddenInput.length = 0;
this._removeIframe();
}, this).bind();
this.constructor._oCallback[sFunctionName + '_error'] = jindo.$Fn(function (oParameter) {
this.fireEvent("error", {
htResult: oParameter
});
delete this.constructor._oCallback[oParameter.callback_func + '_success'];
delete this.constructor._oCallback[oParameter.callback_func + '_error'];
for (var i = 0; i < this._aHiddenInput.length; i++) {
jindo.$Element(this._aHiddenInput[i]).leave();
}
this._aHiddenInput.length = 0;
this._removeIframe();
}, this).bind();
elForm.submit();
if (this.option("bAutoReset")) {
this.reset();
}
},
reset: function () {
var elWrapForm = jindo.$("<form>");
this._wel.wrap(elWrapForm);
elWrapForm.reset();
jindo.$Element(elWrapForm).replace(this._el);
var elForm = this.getFormElement(),
welForm = jindo.$Element(elForm);
welForm.attr({
target: this._sPrevTarget,
action: this._sAction
});
return this;
},
_onActivate: function () {
var elForm = this.getFormElement(),
welForm = jindo.$Element(elForm);
this._sPrevTarget = welForm.attr("target");
this._sAction = welForm.attr("action");
this._el.value = "";
this._wfChange.attach(this._el, "change");
},
_onDeactivate: function () {
this._wfChange.detach(this._el, "change");
},
_makeUniqueId: function () {
return new Date().getMilliseconds() + Math.floor(Math.random() * 100000);
},
_createElement: function (name, attributes) {
var el = jindo.$("<" + name + ">");
var wel = jindo.$Element(el);
for (var k in attributes) {
wel.attr(k, attributes[k]);
}
return el;
},
_checkExtension: function (sFile) {
var aType = this.option("sFiletype").split(';');
for (var i = 0, sType; i < aType.length; i++) {
sType = (aType[i] == "*.*") ? "*" : aType[i];
sType = sType.replace(/^\s+|\s+$/, '');
sType = sType.replace(/\./g, '\\.');
sType = sType.replace(/\*/g, '[^\\\/]+');
if ((new RegExp(sType + '$', 'gi')).test(sFile)) {
return true;
}
}
return false;
},
_onFileSelectChange: function (we) {
var sValue = we.element.value,
bAllowed = this._checkExtension(sValue),
htParam = {
sValue: sValue,
bAllowed: bAllowed,
sMsgNotAllowedExt: this.option("sMsgNotAllowedExt")
};
if (sValue.length && this.fireEvent("select", htParam)) {
if (bAllowed) {
if (this.option("bAutoUpload")) {
this.upload();
}
} else {
alert(htParam.sMsgNotAllowedExt);
}
}
}
}).extend(jindo.UIComponent);

File diff suppressed because it is too large Load Diff

@ -0,0 +1,101 @@
<!DOCTYPE HTML>
<html lang="ko">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>사진 첨부하기 :: SmartEditor2</title>
<style type="text/css">
/* NHN Web Standard 1Team JJS 120106 */
/* Common */
body,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td,form,fieldset,legend,input,textarea,button,select{margin:0;padding:0}
body,input,textarea,select,button,table{font-family:'돋움',Dotum,Helvetica,sans-serif;font-size:12px}
img,fieldset{border:0}
ul,ol{list-style:none}
em,address{font-style:normal}
a{text-decoration:none}
a:hover,a:active,a:focus{text-decoration:underline}
/* Contents */
.blind{visibility:hidden;position:absolute;line-height:0}
#pop_wrap{width:383px}
#pop_header{height:26px;padding:14px 0 0 20px;border-bottom:1px solid #ededeb;background:#f4f4f3}
.pop_container{padding:11px 20px 0}
#pop_footer{margin:21px 20px 0;padding:10px 0 16px;border-top:1px solid #e5e5e5;text-align:center}
h1{color:#333;font-size:14px;letter-spacing:-1px}
.btn_area{word-spacing:2px}
.pop_container .drag_area{overflow:hidden;overflow-y:auto;position:relative;width:341px;height:129px;margin-top:4px;border:1px solid #eceff2}
.pop_container .drag_area .bg{display:block;position:absolute;top:0;left:0;width:341px;height:129px;background:#fdfdfd url(../../img/photoQuickPopup/bg_drag_image.png) 0 0 no-repeat}
.pop_container .nobg{background:none}
.pop_container .bar{color:#e0e0e0}
.pop_container .lst_type li{overflow:hidden;position:relative;padding:7px 0 6px 8px;border-bottom:1px solid #f4f4f4;vertical-align:top}
.pop_container :root .lst_type li{padding:6px 0 5px 8px}
.pop_container .lst_type li span{float:left;color:#222}
.pop_container .lst_type li em{float:right;margin-top:1px;padding-right:22px;color:#a1a1a1;font-size:11px}
.pop_container .lst_type li a{position:absolute;top:6px;right:5px}
.pop_container .dsc{margin-top:6px;color:#666;line-height:18px}
.pop_container .dsc_v1{margin-top:12px}
.pop_container .dsc em{color:#13b72a}
.pop_container2{padding:46px 60px 20px}
.pop_container2 .dsc{margin-top:6px;color:#666;line-height:18px}
.pop_container2 .dsc strong{color:#13b72a}
.upload{margin:0 4px 0 0;_margin:0;padding:6px 0 4px 6px;border:solid 1px #d5d5d5;color:#a1a1a1;font-size:12px;border-right-color:#efefef;border-bottom-color:#efefef;length:300px;}
:root .upload{padding:6px 0 2px 6px;}
</style>
</head>
<body>
<div id="pop_wrap">
<!-- header -->
<div id="pop_header">
<h1>사진 첨부하기</h1>
</div>
<!-- //header -->
<!-- container -->
<!-- [D] HTML5인 경우 pop_container 클래스와 하위 HTML 적용
그밖의 경우 pop_container2 클래스와 하위 HTML 적용 -->
<div id="pop_container2" class="pop_container2">
<!-- content -->
<form id="editor_upimage" name="editor_upimage" action="FileUploader.php" method="post" enctype="multipart/form-data" onSubmit="return false;">
<div id="pop_content2">
<input type="file" class="upload" id="uploadInputBox" name="Filedata">
<p class="dsc" id="info"><strong>10MB</strong>이하의 이미지 파일만 등록할 수 있습니다.<br>(JPG, GIF, PNG, BMP)</p>
</div>
</form>
<!-- //content -->
</div>
<div id="pop_container" class="pop_container" style="display:none;">
<!-- content -->
<div id="pop_content">
<p class="dsc"><em id="imageCountTxt">0장</em>/10장 <span class="bar">|</span> <em id="totalSizeTxt">0MB</em>/50MB</p>
<!-- [D] 첨부 이미지 여부에 따른 Class 변화
첨부 이미지가 있는 경우 : em에 "bg" 클래스 적용 //첨부 이미지가 없는 경우 : em에 "nobg" 클래스 적용 -->
<div class="drag_area" id="drag_area">
<ul class="lst_type" >
</ul>
<em class="blind">마우스로 드래그해서 이미지를 추가해주세요.</em><span id="guide_text" class="bg"></span>
</div>
<div style="display:none;" id="divImageList"></div>
<p class="dsc dsc_v1"><em>한 장당 10MB, 1회에 50MB까지, 10개</em>의 이미지 파일을<br>등록할 수 있습니다. (JPG, GIF, PNG, BMP)</p>
</div>
<!-- //content -->
</div>
<!-- //container -->
<!-- footer -->
<div id="pop_footer">
<div class="btn_area">
<a href="#"><img src="../../img/photoQuickPopup/btn_confirm.png" width="49" height="28" alt="확인" id="btn_confirm"></a>
<a href="#"><img src="../../img/photoQuickPopup/btn_cancel.png" width="48" height="28" alt="취소" id="btn_cancel"></a>
</div>
</div>
<!-- //footer -->
</div>
<script type="text/javascript" src="jindo.min.js" charset="utf-8"></script>
<script type="text/javascript" src="jindo.fileuploader.js" charset="utf-8"></script>
<script type="text/javascript" src="attach_photo.js" charset="utf-8"></script>
</body>
</html>

@ -0,0 +1,9 @@
<!DOCTYPE HTML>
<html lang="ko">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Smart Editor&#8482; WYSIWYG Mode</title>
</head>
<body class="se2_inputarea" style="height:0"></body>
</html>

@ -0,0 +1,9 @@
<!DOCTYPE HTML>
<html lang="ko">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Smart Editor&#8482; WYSIWYG Mode</title>
</head>
<body class="se2_inputarea" style="height:0"></body>
</html>

@ -0,0 +1,173 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="/WEB-INF/tlds/c.tld" %>
<!DOCTYPE html>
<html>
<head>
<title>서울특별시 운수사업관리시스템</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<link rel="stylesheet" type="text/css" href="<c:url value="/css/sub.css"/>" />
<style>
body {background-image:none;}
</style>
<script type="text/javascript" src="<c:url value="/js/jquery-1.9.1.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/js/jquery-ui.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/js/jquery.iframe-transport.js"/>"></script>
<script type="text/javascript" src="<c:url value="/js/jquery.fileupload.js"/>"></script>
<script type="text/javascript" src="<c:url value="/js/jquery.loadmask.min.js"/>"></script>
<link rel="stylesheet" href="<c:url value="/css/jquery/jquery.loadmask.css"/>">
<link rel="stylesheet" href="/css/jquery/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/css/jquery/themes/base/jquery.ui.all.css">
<script type="text/javascript">
var IMAGE_PATTERNS = /\.(gif|jpg|jpeg|tiff|png|bmp)$/i; // 허용할 파일 pattern
var MAX_SIZE = 20000000;
var CATEGORY = 'editor';
$(document).ready(function(){
// 오류메시지를 위한 dialog 작성.
$('#errorDialog').dialog({
autoOpen : false,
resizable : false,
modal : true,
buttons : {
'확인' : function() {
$(this).dialog('close');
}
}
});
// 정보메시지를 위한 dialog 작성.
$('#messageDialog').dialog({
autoOpen : false,
resizable : false,
modal : true,
buttons : {
'확인' : function() {
$(this).dialog('close');
}
}
});
// fileupload layer 초기화
$('#fileupload').fileupload({
url : '<c:url value="/wfw/common/ajaxUploadFile.do"/>',
formData : [
{
name: 'category',
value: CATEGORY
}
],
add : function (e, data) {
var uploadFile = data.files[0];
if (!(IMAGE_PATTERNS).test(uploadFile.name)) {
$('#errorDialog').html('올바른 형식의 파일이 아닙니다.');
$('#errorDialog').dialog('open');
return false;
}
if (uploadFile.size > MAX_SIZE) { // 20MBytes
$('#errorDialog').html('20MBytes 이하의 파일만 업로드 하실 수 있습니다 - ');
$('#errorDialog').dialog('open');
return false;
}
$(document.body).mask("업로드중...");
data.submit();
},
done : function (e, data) {
var jsonData = null;
try {
if (data.result[0].body) { // ie6, 7, 8
var _temp = $(data.result[0].body).html();
jsonData = $.parseJSON(_temp);
} else { // else
jsonData = $.parseJSON(data.result);
}
} catch (e) {
$('#errorDialog').html(data.result);
$('#errorDialog').dialog('open');
}
var oFileInfo = [{
sFileName : jsonData.files[0].fileNm,
sFileURL : '<c:url value="/wfw/common/downloadFile.do"/>?category=' + CATEGORY + '&fileKey='+jsonData.files[0].fileKey,
bNewLine : true
}];
setPhotoToEditor(oFileInfo); // 에디터에 이미지 적용
// opener에 file 정보 전달
if (!opener.parent.fnImageUploadCallback) {
$('#errorDialog').html('부모창에 "fnImageUploadCallback(fileKey, category)" 함수가 선언되어 있어야 합니다.');
$('#errorDialog').dialog('open');
return;
}
opener.parent.fnImageUploadCallback(jsonData.files[0].fileKey, CATEGORY);
window.close();
},
sequentialUploads: true,
error : function (jqXHR, textStatus, errorThrown) {
$(document.body).unmask();
$('#errorDialog').html(jqXHR.responseText);
$('#errorDialog').dialog('open');
}
});
});
function setPhotoToEditor(oFileInfo){
if (!!opener && !!opener.nhn && !!opener.nhn.husky && !!opener.nhn.husky.PopUpManager) {
//스마트 에디터 플러그인을 통해서 넣는 방법 (oFileInfo는 Array)
opener.nhn.husky.PopUpManager.setCallback(window, 'SET_PHOTO', [oFileInfo]);
//본문에 바로 tag를 넣는 방법 (oFileInfo는 String으로 <img src=....> )
//opener.nhn.husky.PopUpManager.setCallback(window, 'PASTE_HTML', [oFileInfo]);
}
}
</script>
</head>
<body>
<div class="popWrap_w">
<div class="pop-header">
<h1><strong>웹 에디터 이미지 업로드</strong></h1>
<a href="#" class="close" title="닫기" onclick="javascript:window.close();">닫기</a>
</div>
<div class="pop-body">
<div class="table01">
<table>
<caption>사용자 선택</caption>
<colgroup>
<col width="15%" />
<col width="" />
</colgroup>
<tbody>
<tr>
<th>첨부파일</th>
<td><input id="fileupload" type="file" name="files[]" multiple="multiple"/></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="btn ar area">
<a href="#" class="btn-w close" onclick="window.close()"><strong><span>취소</span></strong></a>
</div>
<div class="pop-footer">
<p>© 2013. Seoul Metropolitan Government all rights reserved.</p>
</div>
</div>
</body>
</html>

@ -0,0 +1,202 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- DispatcherServlet application context for Application's web tier.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<mvc:annotation-driven />
<!--
- The controllers are autodetected POJOs labeled with the @Controller annotation.
-->
<context:component-scan base-package="com.xit">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
</context:component-scan>
<!--
- This bean processes annotated handler methods, applying Application-specific PropertyEditors
- for request parameter binding. It overrides the default AnnotationMethodHandlerAdapter.
-->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" >
<property name="supportedMediaTypes" value="application/json" />
</bean>
<bean class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter" >
<property name="supportedMediaTypes" value="application/xml" />
<property name="marshaller" ref="xStreamMarshaller"/>
<property name="unmarshaller" ref="xStreamMarshaller"/>
</bean>
</list>
</property>
<property name="synchronizeOnSession" value="true" />
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<!-- Exception Resolver -->
<bean id="exceptionMapping" class="com.xit.wfw.common.exception.WfwExceptionResolver">
<property name="view" value="wfw/cmmn/error/error" />
<property name="ajaxView" value="wfw/cmmn/error/ajaxError" />
</bean>
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/config/wfw/tiles/tiles-*-defs.xml</value>
</list>
</property>
<property name="preparerFactoryClass" value="org.springframework.web.servlet.view.tiles2.SpringBeanPreparerFactory"/>
</bean>
<!-- view order 1 -->
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="order" value="1"/>
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/>
<!-- <property name="viewNames" value=".tiles"/> -->
</bean>
<!-- view order 2 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="order" value="2"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- localeResolver - start -->
<!-- bean id="localeResolver" class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver" / -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="language"/>
</bean>
<bean id="annotationMapper" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor"/>
</list>
</property>
</bean>
<!-- localeResolver - end -->
<!-- For Pagination Tag -->
<bean id="tbmsPagesRenderer" class="com.xit.tbms.web.common.render.TbmsPagesRenderer">
</bean>
<bean id="paginationManager" class="egovframework.rte.ptl.mvc.tags.ui.pagination.DefaultPaginationManager">
<property name="rendererType">
<map>
<entry key="tbms" value-ref="tbmsPagesRenderer"/>
</map>
</property>
</bean>
<!-- /For Pagination Tag -->
<!-- controller에서 전파되는 예외를 처리 -->
<bean id="controllerExceptionAdvice" name="controllerExceptionAdvice" class="com.xit.wfw.common.aop.ControllerExceptionAdvice"/>
<bean id="controllerExceptionAdvisor" class="org.springframework.aop.support.DefaultPointcutAdvisor">
<property name="advice">
<ref local="controllerExceptionAdvice" />
</property>
<property name="pointcut">
<bean class="org.springframework.aop.support.JdkRegexpMethodPointcut">
<property name="pattern">
<value>.*.*</value>
</property>
</bean>
</property>
</bean>
<bean name="controllerExceptionAdviceProxyCreator"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="proxyTargetClass" value="true"/>
<property name="frozen" value="true"/>
<property name="beanNames">
<list>
<value>*Controller</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>controllerExceptionAdvice</value>
</list>
</property>
</bean>
<mvc:interceptors>
<!-- 접근제어를 위한 interceptor -->
<mvc:interceptor>
<mvc:mapping path="/**/*.do" />
<bean class="com.xit.wfw.common.interceptor.WfwAuthInterceptor">
<!-- 인증없이 접근할 수 있는 uri를 등록한다. -->
<property name="excludeUris">
<map>
<entry key="/wfw/cmmn/login/loginForm.do" value=""/>
<entry key="/wfw/cmmn/login/login.do" value=""/>
<entry key="/wfw/cmmn/login/loginWithGPKI.do" value=""/>
<entry key="/wfw/cmmn/login/logout.do" value=""/>
<entry key="/wfw/cmmn/login/checkSession.do" value=""/>
<entry key="/wfw/common/downloadFile.do" value=""/>
<entry key="/wfw/common/downloadImagePath.do" value=""/>
<entry key="/wfw/common/downloadPathFile.do" value=""/>
<entry key="/wfw/cmmn/login/authBeforeSignUp.do" value=""/>
<entry key="/wfw/cmmn/login/newUserDuplicateCheck.do" value=""/>
<entry key="/wfw/cmmn/login/newAccountReq.do" value=""/>
<entry key="/wfw/cmmn/login/ajaxIDorPwdFind.do" value=""/>
<entry key="/sm/co/road_juso.do" value=""/>
<entry key="/sm/co/road_juso_pop.do" value=""/>
<!-- 도로명 주소 API: 검색 API 추가 -->
<entry key="/sm/co/jusoSearch.do" value="" />
<entry key="/sm/co/jusoPopup.do" value="" />
</map>
</property>
<!-- 인증없이 접근할 수 있는 uri pattern을 등록한다. -->
<property name="excludePatterns">
<list>
<value>/sm/co/**/*.do</value>
</list>
</property>
</bean>
</mvc:interceptor>
<!-- 메뉴렌더링을 위한 정보처리 -->
<mvc:interceptor>
<mvc:mapping path="/**/*.do" />
<bean class="com.xit.wfw.common.interceptor.WfwMenuInterceptor">
<!-- 상단메뉴를 적재할 key -->
<property name="topMenuName" value="__wfw_top_menu"/>
<!-- 좌측메뉴를 적재할 key -->
<property name="leftMenuName" value="__wfw_left_menu"/>
<!-- 선택한 메뉴 구조를 적재할 key -->
<property name="selectedMenuHierarchy" value="__wfw_selected_menu_hierarcy"/>
</bean>
</mvc:interceptor>
</mvc:interceptors>
<!--
이 클래스는 jsp에서 사용할 custom function을 제공하는 용도로 bean을 선언하지 않아도 상관없지만
메뉴권한 검증을 위해 WfwMenuService를 참조할 필요가 있어 등록함.
-->
<bean class="com.xit.wfw.web.taglib.WfwAccessControlFunctions">
</bean>
<bean class="com.xit.tbms.web.common.variable.TbmsVariable"></bean>
</beans>

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
<definition name="type1.definition" template="/WEB-INF/jsp/wfw/layouts/type1/layout_tiles.jsp">
<!-- type2와 header 동일하게 사용 -->
<put-attribute name="header" value="/WEB-INF/jsp/wfw/layouts/type2/header.jsp" />
<put-attribute name="left" value="/WEB-INF/jsp/wfw/layouts/type1/left.jsp" />
<put-attribute name="content" value="" />
<put-attribute name="footer" value="/WEB-INF/jsp/wfw/layouts/type1/footer.jsp" />
</definition>
<definition name="*.type1" extends="type1.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}.jsp" />
</definition>
<definition name="*/*.type1" extends="type1.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}/{2}.jsp" />
</definition>
<definition name="*/*/*.type1" extends="type1.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}/{2}/{3}.jsp" />
</definition>
<definition name="*/*/*/*.type1" extends="type1.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}/{2}/{3}/{4}.jsp" />
</definition>
<definition name="*/*/*/*/*.type1" extends="type1.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}/{2}/{3}/{4}/{5}.jsp" />
</definition>
<definition name="*/*/*/*/*/*.type1" extends="type1.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}/{2}/{3}/{4}/{5}/{6}.jsp" />
</definition>
<definition name="*/*/*/*/*/*/*.type1" extends="type1.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}/{2}/{3}/{4}/{5}/{6}/{7}.jsp" />
</definition>
</tiles-definitions>

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
<definition name="type2.definition" template="/WEB-INF/jsp/wfw/layouts/type2/layout_tiles.jsp">
<put-attribute name="header" value="/WEB-INF/jsp/wfw/layouts/type2/header.jsp" />
<put-attribute name="content" value="" />
</definition>
<definition name="*.type2" extends="type2.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}.jsp" />
</definition>
<definition name="*/*.type2" extends="type2.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}/{2}.jsp" />
</definition>
<definition name="*/*/*.type2" extends="type2.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}/{2}/{3}.jsp" />
</definition>
<definition name="*/*/*/*.type2" extends="type2.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}/{2}/{3}/{4}.jsp" />
</definition>
<definition name="*/*/*/*/*.type2" extends="type2.definition">
<put-attribute name="content" value="/WEB-INF/jsp/{1}/{2}/{3}/{4}/{5}.jsp" />
</definition>
</tiles-definitions>

@ -0,0 +1,4 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<script>
var resultjson = ${resultjson};
</script>

@ -0,0 +1,692 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%
request.setCharacterEncoding("UTF-8"); // 한글깨지면 주석제거
String confmKey = "U01TX0FVVEgyMDIyMDYxNDE2MzcyMzExMjY4ODY="; // 검색API 승인키
String domain = "https://www.juso.go.kr"; // 인터넷망
// ※ 행정망 내에서 운영되는 시스템도 이용 가능합니다. 행정망 서비스를 위한 API 요청URL은 별도로 문의 주시기 바랍니다.(1588-0061)
String resultType = "4"; // 검색결과 화면 출력유(1 : 도로명, 2 : 도로명+지번, 3 : 도로명+상세건물명, 4 : 도로명+지번+상세건물명)
%>
<script type="text/javascript" src="<c:url value="/juso/js/jquery-1.12.4.min.js" />"></script>
<script type="text/javascript" src="<c:url value="/juso/js/addrlink.js" />"></script>
<link rel="stylesheet" type="text/css" href="<c:url value="/juso/css/addrlink.css" />"></link>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>주소정보연계 | 도로명주소 안내시스템</title>
<script language="javascript">
//특수문자, 특정문자열(sql예약어) 제거
function checkSearchedWord(obj){
obj.value = obj.value+" ";
//특수문자 제거
if(obj.value.length >0){
var expText = /[%=><]/ ;
if(expText.test(obj.value) == true){
obj.value = obj.value.split(expText).join("");
}
//체크 문자열
var sqlArray = new Array( //sql 예약어
"OR", "SELECT", "INSERT", "DELETE", "UPDATE", "CREATE", "DROP", "EXEC", "UNION", "FETCH", "DECLARE", "TRUNCATE"
);
var regex;
var regex_plus ;
for(var i=0; i<sqlArray.length; i++){
regex = new RegExp("\\s" + sqlArray[i] + "\\s","gi") ;
if (regex.test(obj.value)) {
obj.value =obj.value.replace(regex, "");
alert("\"" + sqlArray[i]+"\"와(과) 같은 특정문자로 검색할 수 없습니다.");
}
regex_plus = new RegExp( "\\+" + sqlArray[i] + "\\+","gi") ;
if (regex_plus.test(obj.value)) {
obj.value =obj.value.replace(regex_plus, "");
alert("\"" + sqlArray[i]+"\"와(과) 같은 특정문자로 검색할 수 없습니다.");
}
}
}
return obj.value = obj.value;
}
function searchUrlJuso(){
$("#resultData").hide();
var frm = document.AKCFrm;
frm.keyword.value = checkSearchedWord(frm.keyword); // 특수문자 및 sql예약어 제거, 20160912
$("#keyword").val(validateJuso($("#keyword").val())); //공백 및 특수문자 제거
$("#keyword").val(regExpCheckJuso($("#keyword").val()));
$.ajax({
url :"<%=domain %>/addrlink/addrLinkApiJsonp.do" //인터넷망
,type:"post"
,data:$("#AKCFrm").serialize()
,dataType:"jsonp"
,crossDomain:true
,success:function(xmlStr){
if(navigator.appName.indexOf("Microsoft") > -1){
var xmlData = new ActiveXObject("Microsoft.XMLDOM");
xmlData.loadXML(xmlStr.returnXml)
}else{
var xmlData = xmlStr.returnXml;
}
$(".popSearchNoResult").html("");
var errCode = $(xmlData).find("errorCode").text();
var errDesc = $(xmlData).find("errorMessage").text();
var totalCount = $(xmlData).find("totalCount").text();
var currentPage = $(xmlData).find("currentPage").text();
if( parseInt(totalCount) > 1000 && currentPage == "1" )
alert("검색 결과가 너무 많습니다(1,000건 이상)\n검색어 예를 참조하여 검색하시기 바랍니다.");
if(errCode != "0"){
alert(errDesc);
}else{
if(xmlStr != null){
makeList(xmlData);
}
}
}
,error: function(xhr,status, error){
//alert("에러발생");
alert("검색에 실패하였습니다 \n 다시 검색하시기 바랍니다.");
}
});
}
function makeList(xmlStr){
var htmlStr = "";
if( $(xmlStr).find("totalCount").text() == "0" ){
htmlStr +=' ';
htmlStr += '<div class="popSearchNoResult" style="margin-top:10px; margin-bottom:5px;">';
htmlStr += ' 검색된 내용이 없습니다.';
htmlStr += '</div>';
htmlStr +='';
}else{
htmlStr += '<p class="text-guide">도로명주소 검색 결과 <strong>('+ $(xmlStr).find("totalCount").text()+'건)</strong></p>';
htmlStr += '<table class="data-col" style="margin-top:3px;">';
htmlStr += ' <caption>검색 결과</caption>';
htmlStr += ' <colgroup>';
htmlStr += ' <col style="width:8%">';
htmlStr += ' <col>';
htmlStr += ' <col style="width:11%">';
htmlStr += ' <col style="width:14%">';
htmlStr += ' </colgroup>';
htmlStr += ' <thead>';
htmlStr += ' <tr>';
htmlStr += ' <th scope="col">No</th>';
htmlStr += ' <th scope="col">도로명주소</th>';
htmlStr += ' <th scope="col">&nbsp;</th>';
htmlStr += ' <th scope="col">우편번호</th>';
htmlStr += ' </tr>';
htmlStr += ' </thead>';
htmlStr += ' <tbody>';
var currentPage = parseInt($(xmlStr).find("currentPage").text());
var countPerPage = parseInt($(xmlStr).find("countPerPage").text());
var listNum = (currentPage*countPerPage)-(--countPerPage);
var num = 0;
$(xmlStr).find("juso").each(function(){
num++;
var resultType = "<%= resultType%>";
htmlStr += '<tr>';
htmlStr +=' <td class="subj" style="text-align:center;">'+(listNum++)+'</td>';
if( resultType == "1" ){
htmlStr += ' <td class="subj" colspan="2" id="roadAddrTd'+num+' style="text-align:left; padding-left: 5px; line-height: 0.5em;">';
htmlStr += ' <a href="javascript:setMaping(\''+num+'\')">';
htmlStr += ' <div tabindex="6">';
htmlStr += ' <div id="roadAddrDiv'+num+'"><b>'+$(this).find('roadAddr').text()+'</b></div>';
htmlStr += ' </div>';
htmlStr += ' </a>';
htmlStr += ' <span id="jibunAddrDiv'+num+'" style="display:none;">'+$(this).find('jibunAddr').text()+'</span>';
htmlStr +=' <div id="roadAddrPart1Div'+num+'" style="display:none;">'+$(this).find('roadAddrPart1').text()+'</div>';
htmlStr +=' <div id="roadAddrPart2Div'+num+'" style="display:none;">'+$(this).find('roadAddrPart2').text()+'</div>';
htmlStr +=' <div id="engAddrDiv'+num+'" style="display:none;">'+$(this).find('engAddr').text()+'</div>';
htmlStr += ' </td>';
}else if( resultType == "2" ){
htmlStr += ' <td class="subj" colspan="2" id="roadAddrTd'+num+' style="text-align:left; padding-left: 5px; line-height: 0.5em;">';
htmlStr += ' <a href="javascript:setMaping(\''+num+'\')">';
htmlStr += ' <div tabindex="6">';
htmlStr += ' <div id="roadAddrDiv'+num+'"><b>'+$(this).find('roadAddr').text()+'</b></div>';
htmlStr +=' <span style="font-size:11px;">[지번] <span id="jibunAddrDiv'+num+'">'+$(this).find('jibunAddr').text()+'</span></span>';
htmlStr += ' </div>';
htmlStr += ' </a>';
htmlStr +=' <div id="roadAddrPart1Div'+num+'" style="display:none;">'+$(this).find('roadAddrPart1').text()+'</div>';
htmlStr +=' <div id="roadAddrPart2Div'+num+'" style="display:none;">'+$(this).find('roadAddrPart2').text()+'</div>';
htmlStr +=' <div id="engAddrDiv'+num+'" style="display:none;">'+$(this).find('engAddr').text()+'</div>';
htmlStr += ' </td>';
}else if( resultType == "3" ){
htmlStr +=' <td class="subj" id="roadAddrTd'+num+' style="text-align:left; padding-left: 5px; line-height: 0.5em;">';
htmlStr +=' <a href="javascript:setMaping(\''+num+'\')">';
htmlStr +=' <div tabindex="6">';
htmlStr +=' <div id="roadAddrDiv'+num+'"><b>'+$(this).find('roadAddr').text()+'</b></div>';
htmlStr +=' </div>';
htmlStr +=' </a>';
htmlStr +=' <div id="detListDivX'+num+'" style="display:none;"><span style="font-size:11px;"> [상세건물명]'+$(this).find('detBdNmList').text()+' </span></div>';
htmlStr += ' <span id="jibunAddrDiv'+num+'" style="display:none;">'+$(this).find('jibunAddr').text()+'</span>';
htmlStr +=' <div id="roadAddrPart1Div'+num+'" style="display:none;">'+$(this).find('roadAddrPart1').text()+'</div>';
htmlStr +=' <div id="roadAddrPart2Div'+num+'" style="display:none;">'+$(this).find('roadAddrPart2').text()+'</div>';
htmlStr +=' <div id="engAddrDiv'+num+'" style="display:none;">'+$(this).find('engAddr').text()+'</div>';
htmlStr +=' </td>';
htmlStr +=' <td class="subj" style="text-align:center;">';
htmlStr +=' <div id="detDiv'+num+'" style="font-size:12px;">';
if($(this).find('detBdNmList').text() != ""){
htmlStr +='<a href="javascript:addrJuminRenew('+num+');">상세건물</br>보기</a>';
}
htmlStr +=' </div>';
htmlStr +=' <div id="detDivX'+num+'" style="display:none;"><a href="javascript:addrJuminRenewX('+num+');">닫기</a></div>';
htmlStr +=' </td>';
}else{
htmlStr +=' <td class="subj" id="roadAddrTd'+num+' style="text-align:left; padding-left: 5px; line-height: 0.5em;">';
htmlStr +=' <a href="javascript:setMaping(\''+num+'\')">';
htmlStr +=' <div tabindex="6">';
htmlStr +=' <div id="roadAddrDiv'+num+'"><b>'+$(this).find('roadAddr').text()+'</b></div>';
htmlStr +=' <span style="font-size:11px;">[지번] <span id="jibunAddrDiv'+num+'">'+$(this).find('jibunAddr').text()+'</span></span>';
htmlStr +=' </div>';
htmlStr +=' </a>';
htmlStr +=' <div id="detListDivX'+num+'" style="display:none;"><span style="font-size:11px;"> [상세건물명]'+$(this).find('detBdNmList').text()+' </span></div>';
htmlStr +=' <div id="roadAddrPart1Div'+num+'" style="display:none;">'+$(this).find('roadAddrPart1').text()+'</div>';
htmlStr +=' <div id="roadAddrPart2Div'+num+'" style="display:none;">'+$(this).find('roadAddrPart2').text()+'</div>';
htmlStr +=' <div id="engAddrDiv'+num+'" style="display:none;">'+$(this).find('engAddr').text()+'</div>';
htmlStr +=' </td>';
htmlStr +=' <td class="subj" style="text-align:center;">';
htmlStr +=' <div id="detDiv'+num+'" style="font-size:12px;">';
if($(this).find('detBdNmList').text() != ""){
htmlStr +='<a href="javascript:addrJuminRenew('+num+');">상세건물</br>보기</a>';
}
htmlStr +=' </div>';
htmlStr +=' <div id="detDivX'+num+'" style="display:none;"><a href="javascript:addrJuminRenewX('+num+');">닫기</a></div>';
htmlStr +=' </td>';
}
htmlStr +=' <td class="subj" style="text-align:center" id="zipNoTd'+num+'"> ';
htmlStr +=' <div id="zipNoDiv'+num+'">'+$(this).find('zipNo').text()+'</div>';
htmlStr +=' </td>';
htmlStr +=' <input type="hidden" id="admCdHid'+num+'" value="'+$(this).find('admCd').text()+'">';
htmlStr +=' <input type="hidden" id="rnMgtSnHid'+num+'" value="'+$(this).find('rnMgtSn').text()+'">';
htmlStr +=' <input type="hidden" id="bdMgtSnHid'+num+'" value="'+$(this).find('bdMgtSn').text()+'">';
htmlStr +=' <input type="hidden" id="detBdNmListHid'+num+'" value="'+$(this).find('detBdNmList').text()+'"> ';
htmlStr +=' <input type="hidden" id="bdNmHid'+num+'" value="'+$(this).find('bdNm').text()+'"> ';
htmlStr +=' <input type="hidden" id="bdKdcdHid'+num+'" value="'+$(this).find('bdKdcd').text()+'"> ';
htmlStr +=' <input type="hidden" id="siNmHid'+num+'" value="'+$(this).find('siNm').text()+'">';
htmlStr +=' <input type="hidden" id="sggNmHid'+num+'" value="'+$(this).find('sggNm').text()+'"> ';
htmlStr +=' <input type="hidden" id="emdNmHid'+num+'" value="'+$(this).find('emdNm').text()+'"> ';
htmlStr +=' <input type="hidden" id="liNmHid'+num+'" value="'+$(this).find('liNm').text()+'"> ';
htmlStr +=' <input type="hidden" id="rnHid'+num+'" value="'+$(this).find('rn').text()+'"> ';
htmlStr +=' <input type="hidden" id="udrtYnHid'+num+'" value="'+$(this).find('udrtYn').text()+'"> ';
htmlStr +=' <input type="hidden" id="buldMnnmHid'+num+'" value="'+$(this).find('buldMnnm').text()+'"> ';
htmlStr +=' <input type="hidden" id="buldSlnoHid'+num+'" value="'+$(this).find('buldSlno').text()+'"> ';
htmlStr +=' <input type="hidden" id="mtYnHid'+num+'" value="'+$(this).find('mtYn').text()+'"> ';
htmlStr +=' <input type="hidden" id="lnbrMnnmHid'+num+'" value="'+$(this).find('lnbrMnnm').text()+'"> ';
htmlStr +=' <input type="hidden" id="lnbrSlnoHid'+num+'" value="'+$(this).find('lnbrSlno').text()+'"> ';
htmlStr +=' <input type="hidden" id="emdNoHid'+num+'" value="'+$(this).find('emdNo').text()+'"> ';
htmlStr +='</tr> ';
});
htmlStr += ' </tbody>';
htmlStr += "</table>";
htmlStr += '<div class="paginate" id="pageApi"></div>';
}
$(".popSearchNoResult").addClass("result");
$(".popSearchNoResult").html(htmlStr);
$(".result").show();
$("#resultData").hide();
$("#searchContentBox").css("height","");
$("#searchContentBox").css("height","365px");
pageMake(xmlStr);
}
// xml타입 페이지 처리 (주소정보 리스트 makeList(xmlData); 다음에서 호출)
function pageMake(xmlStr){
var total = $(xmlStr).find("totalCount").text(); // 총건수
var pageNum = $(xmlStr).find("currentPage").text();// 현재페이지
var paggingStr = "";
if(total < 1){
}else{
var PAGEBLOCK= 10;
var pageSize= parseInt( $(xmlStr).find("countPerPage").text() );
var totalPages = Math.floor((total-1)/pageSize) + 1;
var firstPage = Math.floor((pageNum-1)/PAGEBLOCK) * PAGEBLOCK + 1;
if( firstPage <= 0 ) firstPage = 1;
var lastPage = firstPage-1 + PAGEBLOCK;
if( lastPage > totalPages ) lastPage = totalPages;
var nextPage = lastPage+1 ;
var prePage = firstPage-5 ;
if(totalPages > 1){
if( firstPage > PAGEBLOCK ){
paggingStr += "<a class='skip prev' href='javascript: $(\"#currentPage\").val("+prePage+"); searchUrlJuso();'>이전으로</a> " ;
}
for( i=firstPage; i<=lastPage; i++ ){
if( pageNum == i )
paggingStr += "<strong>" + i + "</strong> ";
else
paggingStr += "<a href='javascript:$(\"#currentPage\").val("+i+"); searchUrlJuso();'>" + i + "</a> ";
}
if( lastPage < totalPages ){
paggingStr += "<a class='skip next' href='javascript: $(\"#currentPage\").val("+nextPage+"); searchUrlJuso();'>다음으로</a>";
}
}
$("#pageApi").html(paggingStr);
}
}
function setParent(){
var rtRoadAddr = $.trim($("#rtRoadAddr").val());
var rtAddrPart1 = $.trim($("#rtAddrPart1").val());
var rtAddrPart2 = $.trim($("#rtAddrPart2").val());
var rtEngAddr = $.trim($("#rtEngAddr").val());
var rtJibunAddr = $.trim($("#rtJibunAddr").val());
var rtAddrDetail = $.trim($("#rtAddrDetail").val());
var rtZipNo = $.trim($("#rtZipNo").val());
var rtAdmCd = $.trim($("#rtAdmCd").val());
var rtRnMgtSn = $.trim($("#rtRnMgtSn").val());
var rtBdMgtSn = $.trim($("#rtBdMgtSn").val());
var rtDetBdNmList = $.trim($("#rtDetBdNmList").val());
var rtBdNm = $.trim($("#rtBdNm").val());
var rtBdKdcd = $.trim($("#rtBdKdcd").val());
var rtSiNm = $.trim($("#rtSiNm").val());
var rtSggNm = $.trim($("#rtSggNm").val());
var rtEmdNm = $.trim($("#rtEmdNm").val());
var rtLiNm = $.trim($("#rtLiNm").val());
var rtRn = $.trim($("#rtRn").val());
var rtUdrtYn = $.trim($("#rtUdrtYn").val());
var rtBuldMnnm = $.trim($("#rtBuldMnnm").val());
var rtBuldSlno = $.trim($("#rtBuldSlno").val());
var rtMtYn = $.trim($("#rtMtYn").val());
var rtLnbrMnnm = $.trim($("#rtLnbrMnnm").val());
var rtLnbrSlno = $.trim($("#rtLnbrSlno").val());
var rtEmdNo = $.trim($("#rtEmdNo").val());
var rtRoadFullAddr = rtAddrPart1;
if(rtAddrDetail != "" && rtAddrDetail != null){
rtRoadFullAddr += ", " + rtAddrDetail;
}
if(rtAddrPart2 != "" && rtAddrPart2 != null){
rtRoadFullAddr += " " + rtAddrPart2;
}
// IE에서 opener관련 오류가 발생하는 경우, 부모창에서 지정한 이름으로 opener를 재정의
if(opener == null || opener == undefined) opener = window.open("", "jusoPopup");
//opener.jusoCallBack(rtRoadFullAddr, rtAddrPart1, rtAddrDetail, rtAddrPart2, rtEngAddr, rtJibunAddr, rtZipNo, rtAdmCd, rtRnMgtSn, rtBdMgtSn, rtDetBdNmList, rtBdNm, rtBdKdcd, rtSiNm, rtSggNm, rtEmdNm, rtLiNm, rtRn, rtUdrtYn, rtBuldMnnm, rtBuldSlno, rtMtYn, rtLnbrMnnm, rtLnbrSlno, rtEmdNo);
opener.jusoCallBackNew(rtZipNo, rtAddrPart1, rtAddrDetail, rtAddrPart2); // 운수사업관리시스템에서 사용할 수 있도록 수정함
window.open("about:blank","_self").close();
}
function setMaping(idx){
$("#searchContentBox").css("height","365px"); // 로고 위치 지정
var roadAddr = $("#roadAddrDiv"+idx).text()
var addrPart1 = $("#roadAddrPart1Div"+idx).text();
var addrPart2 = $("#roadAddrPart2Div"+idx).text();
var engAddr = $("#engAddrDiv"+idx).text();
var jibunAddr = $("#jibunAddrDiv"+idx).text();
var zipNo = $("#zipNoDiv"+idx).text();
var admCd = $("#admCdHid"+idx).val();
var rnMgtSn = $("#rnMgtSnHid"+idx).val();
var bdMgtSn = $("#bdMgtSnHid"+idx).val();
var detBdNmList = $("#detBdNmListHid"+idx).val();
var bdNm = $("#bdNmHid"+idx).val();
var bdKdcd = $("#bdKdcdHid"+idx).val();
var siNm = $("#siNmHid"+idx).val();
var sggNm = $("#sggNmHid"+idx).val();
var emdNm = $("#emdNmHid"+idx).val();
var liNm = $("#liNmHid"+idx).val();
var rn = $("#rnHid"+idx).val();
var udrtYn = $("#udrtYnHid"+idx).val();
var buldMnnm = $("#buldMnnmHid"+idx).val();
var buldSlno = $("#buldSlnoHid"+idx).val();
var mtYn = $("#mtYnHid"+idx).val();
var lnbrMnnm = $("#lnbrMnnmHid"+idx).val();
var lnbrSlno = $("#lnbrSlnoHid"+idx).val();
var emdNo = $("#emdNoHid"+idx).val();
$("#rtRoadAddr").val(roadAddr);
$("#rtAddrPart1").val(addrPart1);
$("#rtAddrPart2").val(addrPart2);
$("#rtEngAddr").val(engAddr);
$("#rtJibunAddr").val(jibunAddr);
$("#rtZipNo").val(zipNo);
$("#rtAdmCd").val(admCd);
$("#rtRnMgtSn").val(rnMgtSn);
$("#rtBdMgtSn").val(bdMgtSn);
$("#rtDetBdNmList").val(detBdNmList);
$("#rtBdNm").val(bdNm);
$("#rtBdKdcd").val(bdKdcd);
$("#rtSiNm").val(siNm);
$("#rtSggNm").val(sggNm);
$("#rtEmdNm").val(emdNm);
$("#rtLiNm").val(liNm);
$("#rtRn").val(rn);
$("#rtUdrtYn").val(udrtYn);
$("#rtBuldMnnm").val(buldMnnm);
$("#rtBuldSlno").val(buldSlno);
$("#rtMtYn").val(mtYn);
$("#rtLnbrMnnm").val(lnbrMnnm);
$("#rtLnbrSlno").val(lnbrSlno);
$("#rtEmdNo").val(emdNo);
$(".result").hide();
$("#resultData").show();
$("#addrPart1").html(addrPart1);
$("#addrPart2").html(addrPart2);
$("#rtAddrDetail").focus();
}
function init(){
var browerName = navigator.appName;
var browerAgent = navigator.userAgent;
self.resizeTo(570, 520);
}
$(document).ready(function(){
placeHolder();
$('#searchRdNm').bind('click', function(){
$('.popWrap3').css({'display':'block','top':'21px','right':'121px'});
});
$('#popupClose2').bind('click', function(){
$('.popWrap3').css('display','none');
});
$('.choIdx a').click(function(event){
$('.choIdx a').removeClass('on');
if($(this).hasClass('off')){
return;
}else{
$(this).addClass('on');
event.preventDefault();
var target =this.hash;
var $target=$(target);
var top = $(target).position().top-106;
if(prevPosition ==0){
$('#roadNameList2').scrollTop(top);
prevPosition = top;
}else{
$('#roadNameList2').scrollTop(prevPosition+top);
prevPosition = prevPosition + top;
}
if($('#roadNameList2')[0].scrollHeight - $('#roadNameList2').scrollTop() == $('#roadNameList2').innerHeight()){
prevPosition = $('#roadNameList2').scrollTop();
}
}
});
$('#roadNameList2').children().css('display','none');
$('#roadNameList2').scroll(function(){prevPosition = this.scrollTop;});
});
window.onresize = placeHolderPoint;
function placeHolderPoint(){
$(":input[placeholderTxt]").each(function(){
var labelId = "label"+this.id;
var objVal = $(this).val();
var placeTxt = $(this).attr("placeholderTxt");
var left = parseInt($(this).offset().left);
var top = parseInt($(this).offset().top);
$("#"+labelId).css({"left":left+"px","top":top+"px"});
});
}
function placeHolder(){
$(":input[placeholderTxt]").each(function(){
var labelId = "label"+this.id;
var objVal = $(this).val();
var placeTxt = $(this).attr("placeholderTxt");
var left = parseInt($(this).offset().left);
var top = parseInt($(this).offset().top);
$(this).after("<label for='"+this.id+"' id='"+labelId+"' style ='position:absolute;left:"+left+"px;top:"+top+"px; font-size:15px;color:#1898d2;font-weight:bold; padding-left:10px;padding-top:11px;'><b>"+placeTxt+"</b></label>");
if(objVal !=""){
$("#"+labelId).hide();
}
$(this).focus(function(){
$("#"+labelId).hide();
});
$(this).blur(function(){
if($(this).val() == ""){
$("#"+labelId).show();
}
});
});
}
function addrDetailChk(){
var evtCode = (window.netscape) ? ev.which : event.keyCode;
if(evtCode == 63 || evtCode == 35 || evtCode == 38 || evtCode == 43 || evtCode == 92 || evtCode == 34){ // # & + \ " 문자제한
alert('특수문자 ? # & + \\ " 를 입력 할 수 없습니다.');
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue=false;
}
}
}
function addrDetailChk1(obj){
if(obj.value.length > 0){
var expText = /^[^?#&+\"\\]+$/;
if(expText.test(obj.value) != true){
alert('특수문자 ? # & + \\ " 를 입력 할 수 없습니다.');
obj.value="";
}
}
}
function popClose(){
window.close();
}
function addrJuminRenew(idx){
$("#detDivX"+idx).show();
$("#detListDivX"+idx).show();
$("#detDiv"+idx).hide();
var docHeight = $("#resultList").height(); // 결과 DIV 높이 가져옴
if(docHeight > 300){ // 높이가 310인 경우 로고 위치 조정
docHeight += 60;
$("#searchContentBox").css("height",docHeight+"px");// 로고 위치 지정
}else{
$("#searchContentBox").css("365px");// 로고 위치 지정
}
}
function addrJuminRenewX(idx){
$("#detDivX"+idx).hide();
$("#detListDivX"+idx).hide();
$("#detDiv"+idx).show();
var docHeight = $("#resultList").height(); // 결과 DIV 높이 가져옴
if(docHeight > 300){ // 높이가 310인 경우 로고 위치 조정
docHeight += 60;
$("#searchContentBox").css("height",docHeight+"px");// 로고 위치 지정
}else{
$("#searchContentBox").css("365px");// 로고 위치 지정
}
}
$(function(){
var docHeight = $("#resultList").height(); // 결과 DIV 높이 가져옴
if(docHeight > 300){ // 높이가 310인 경우 로고 위치 조정
docHeight += 60;
$("#searchContentBox").css("height",docHeight+"px");// 로고 위치 지정
}else{
$("#searchContentBox").css("365px");// 로고 위치 지정
}
$("#keyword").focus();
$("#keyword").on("keydown", function(event){
if (event.which == 13) {
event.keyCode = 0;
$("#currentPage").val(1);
searchUrlJuso();
}
});
});
function trim(strSource) {
return strSource.replace(/(^\s*)|(\s*$)/g, "");
}
</script>
<style>
html { overflow-y:hidden; }
</style>
</head>
<body onload="init();" class ="visualSection">
<form name="rtForm" id="rtForm" method="post">
<input type="hidden" name="inputYn" id="inputYn" value="Y"/>
<input type="hidden" name="roadFullAddr" id="roadFullAddr"/>
<input type="hidden" name="roadAddrPart1" id="roadAddrPart1"/>
<input type="hidden" name="roadAddrPart2" id="roadAddrPart2"/>
<input type="hidden" name="engAddr" id="engAddr"/>
<input type="hidden" name="jibunAddr" id="jibunAddr"/>
<input type="hidden" name="zipNo" id="zipNo"/>
<input type="hidden" name="addrDetail" id="addrDetail"/>
<input type="hidden" name="admCd" id="admCd" />
<input type="hidden" name="rnMgtSn" id="rnMgtSn" />
<input type="hidden" name="bdMgtSn" id="bdMgtSn" />
<input type="hidden" name="detBdNmList" id="detBdNmList" />
<input type="hidden" name="bdNm" id="bdNm" />
<input type="hidden" name="bdKdcd" id="bdKdcd" />
<input type="hidden" name="siNm" id="siNm" />
<input type="hidden" name="sggNm" id="sggNm" />
<input type="hidden" name="emdNm" id="emdNm" />
<input type="hidden" name="liNm" id="liNm" />
<input type="hidden" name="rn" id="rn" />
<input type="hidden" name="udrtYn" id="udrtYn" />
<input type="hidden" name="buldMnnm" id="buldMnnm" />
<input type="hidden" name="buldSlno" id="buldSlno" />
<input type="hidden" name="mtYn" id="mtYn" />
<input type="hidden" name="lnbrMnnm" id="lnbrMnnm" />
<input type="hidden" name="lnbrSlno" id="lnbrSlno" />
<input type="hidden" name="emdNo" id="emdNo" />
</form>
<form name="AKCFrm" id="AKCFrm" method="post">
<input type="hidden" name="iframe" value="" />
<input type="hidden" name="confmKey" value="<%=confmKey %>" />
<input type="hidden" name="encodingType" value="" />
<input type="hidden" name="cssUrl" value="" />
<input type="hidden" name="resultType" value="<%=resultType %>" />
<input type="hidden" name="currentPage" id="currentPage" value="1" />
<input type="hidden" name="countPerPage" value="5" />
<input type="hidden" name="rtRoadAddr" id="rtRoadAddr" />
<input type="hidden" name="rtAddrPart1" id="rtAddrPart1" />
<input type="hidden" name="rtAddrPart2" id="rtAddrPart2" />
<input type="hidden" name="rtEngAddr" id="rtEngAddr" />
<input type="hidden" name="rtJibunAddr" id="rtJibunAddr" />
<input type="hidden" name="rtZipNo" id="rtZipNo" />
<input type="hidden" name="rtAdmCd" id="rtAdmCd" />
<input type="hidden" name="rtRnMgtSn" id="rtRnMgtSn" />
<input type="hidden" name="rtBdMgtSn" id="rtBdMgtSn" />
<input type="hidden" name="rtDetBdNmList" id="rtDetBdNmList" />
<input type="hidden" name="rtBdNm" id="rtBdNm" />
<input type="hidden" name="rtBdKdcd" id="rtBdKdcd" />
<input type="hidden" name="rtSiNm" id="rtSiNm" />
<input type="hidden" name="rtSggNm" id="rtSggNm" />
<input type="hidden" name="rtEmdNm" id="rtEmdNm" />
<input type="hidden" name="rtLiNm" id="rtLiNm" />
<input type="hidden" name="rtRn" id="rtRn" />
<input type="hidden" name="rtUdrtYn" id="rtUdrtYn" />
<input type="hidden" name="rtBuldMnnm" id="rtBuldMnnm" />
<input type="hidden" name="rtBuldSlno" id="rtBuldSlno" />
<input type="hidden" name="rtMtYn" id="rtMtYn" />
<input type="hidden" name="rtLnbrMnnm" id="rtLnbrMnnm" />
<input type="hidden" name="rtLnbrSlno" id="rtLnbrSlno" />
<input type="hidden" name="rtEmdNo" id="rtEmdNo" />
<input type="hidden" name ="searchType" id="searchType" />
<input type="hidden" name ="dsgubuntext" id="dsgubuntext" />
<input type="hidden" name ="dscity1text" id="dscity1text" />
<input type="hidden" name ="dscounty1text" id="dscounty1text" />
<input type="hidden" name ="dsemd1text" id="dsemd1text" />
<input type="hidden" name ="dsri1text" id="dsri1text" />
<input type="hidden" name ="dsrd_nm1text" id="dsrd_nm1text" />
<input type="hidden" name ="dssan1text" id="dssan1text" />
<div class="pop-address-search" style="width: 100%;" >
<div class="pop-address-search-inner" style="border: 0px;">
<div style="height: 365px;" id="searchContentBox">
<fieldset>
<legend>도로명주소 검색</legend>
<span class="wrap">
<input type="text" class="popSearchInput" style="font-size: 13px; font-weight: bold; ime-mode:active;" title="검색어를 입력하세요" name="keyword" id="keyword" placeholder="도로명주소, 건물명 또는 지번입력" value="" tabindex="1"/>
<input type="button" title="검색" tabindex="2" onclick="javascript:$('#currentPage').val(1); searchUrlJuso();" style=" cursor: pointer;"/>
</span>
<a class="close" href="javascript:popClose();" title="창닫기" tabindex="3">닫기</a>
</fieldset>
<p class="guide" style="margin-top:3px;">검색어 예 : 도로명(반포대로 58), 건물명(독립기념관), 지번(삼성동 25)</p>
<!-- nodata -->
<div class="popSearchNoResult" style="margin-top:10px; margin-bottom:5px;"></div>
<!-- //nodata -->
<!-- 상세주소 -->
<div class="detail" style="display:none;" id="resultData">
<p><strong>상세주소 입력</strong></p>
<table class="data-row">
<caption>주소 입력</caption>
<colgroup>
<col style="width:20%"></col>
<col></col>
</colgroup>
<tbody>
<tr>
<th scope="row">도로명주소</th>
<td id="addrPart1" style="font-size:15px; height:20px; line-height:20px;"></td>
</tr>
<tr>
<th scope="row"><label for="inputPopAddress">상세주소입력</label></th>
<td>
<input type="text" name="rtAddrDetail" id="rtAddrDetail" style="width: 100%; font-size: 13px;" onkeypress="addrDetailChk();" onkeyup="addrDetailChk1(this);" title="상세주소"/>
<div id="addrPart2" style="font-size: 13px; line-height: 2em;"></div>
</td>
</tr>
</tbody>
</table>
<div class="btns-submit">
<a class="btn-bl" href="javascript:setParent();">주소입력</a>
</div>
</div>
</div>
<!-- //상세주소 입력 -->
<div class="logo" style="display: block;" >&nbsp;</div>
</div>
</div>
</form>
</body>
</html>

@ -0,0 +1,98 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="javascript">
function goPopup(){
// IE에서 opener관련 오류가 발생하는 경우, window에 이름을 명시해줍니다.
window.name="jusoPopup";
// 주소검색을 수행할 팝업 페이지를 호출합니다.
// 호출된 페이지(jusopopup.jsp)에서 실제 주소검색URL(http://www.juso.go.kr/addrlink/addrLinkUrl.do)를 호출하게 됩니다.
//var pop = window.open("./jusoPopup.jsp","pop","width=570,height=420, scrollbars=yes, resizable=yes");
var pop = window.open("/sm/co/jusoPopup.do","pop","width=570,height=420, scrollbars=yes, resizable=yes");
}
function jusoCallBack(roadFullAddr,roadAddrPart1,addrDetail,roadAddrPart2,engAddr, jibunAddr, zipNo, admCd, rnMgtSn, bdMgtSn,detBdNmList,bdNm,bdKdcd,siNm,sggNm,emdNm,liNm,rn,udrtYn,buldMnnm,buldSlno,mtYn,lnbrMnnm,lnbrSlno,emdNo){
// 팝업페이지에서 주소입력한 정보를 받아서, 현 페이지에 정보를 등록합니다.
document.form.roadFullAddr.value = roadFullAddr;
document.form.roadAddrPart1.value = roadAddrPart1;
document.form.roadAddrPart2.value = roadAddrPart2;
document.form.addrDetail.value = addrDetail;
document.form.engAddr.value = engAddr;
document.form.jibunAddr.value = jibunAddr;
document.form.zipNo.value = zipNo;
document.form.admCd.value = admCd;
document.form.rnMgtSn.value = rnMgtSn;
document.form.bdMgtSn.value = bdMgtSn;
document.form.detBdNmList.value = detBdNmList;
/** 2017년 2월 추가제공 **/
document.form.bdNm.value = bdNm;
document.form.bdKdcd.value = bdKdcd;
document.form.siNm.value = siNm;
document.form.sggNm.value = sggNm;
document.form.emdNm.value = emdNm;
document.form.liNm.value = liNm;
document.form.rn.value = rn;
document.form.udrtYn.value = udrtYn;
document.form.buldMnnm.value = buldMnnm;
document.form.buldSlno.value = buldSlno;
document.form.mtYn.value = mtYn;
document.form.lnbrMnnm.value = lnbrMnnm;
document.form.lnbrSlno.value = lnbrSlno;
/** 2017년 3월 추가제공 **/
document.form.emdNo.value = emdNo;
}
/*
function jusoCallBackNew(zipNo, roadAddrPart1, addrDetail, roadAddrPart2) {
window.opener.CURRENT_POST.value = zipNo;
window.opener.CURRENT_JUSO.value = roadAddrPart1;
window.opener.CURRENT_DETAIL.value = addrDetail + " " + roadAddrPart2;
}
*/
</script>
<title>주소 입력 샘플</title>
</head>
<body>
<form name="form" id="form" method="post">
<input type="button" onClick="goPopup();" value="팝업_domainChk"/>
<div id="list"></div>
<div id="callBackDiv">
<table>
<tr><td>도로명주소 전체(포멧)</td><td><input type="text" style="width:500px;" id="roadFullAddr" name="roadFullAddr" /></td></tr>
<tr><td>도로명주소 </td><td><input type="text" style="width:500px;" id="roadAddrPart1" name="roadAddrPart1" /></td></tr>
<tr><td>고객입력 상세주소 </td><td><input type="text" style="width:500px;" id="addrDetail" name="addrDetail" /></td></tr>
<tr><td>참고주소 </td><td><input type="text" style="width:500px;" id="roadAddrPart2" name="roadAddrPart2" /></td></tr>
<tr><td>영문 도로명주소 </td><td><input type="text" style="width:500px;" id="engAddr" name="engAddr" /></td></tr>
<tr><td>지번 </td><td><input type="text" style="width:500px;" id="jibunAddr" name="jibunAddr" /></td></tr>
<tr><td>우편번호 </td><td><input type="text" style="width:500px;" id="zipNo" name="zipNo" /></td></tr>
<tr><td>행정구역코드 </td><td><input type="text" style="width:500px;" id="admCd" name="admCd" /></td></tr>
<tr><td>도로명코드 </td><td><input type="text" style="width:500px;" id="rnMgtSn" name="rnMgtSn" /></td></tr>
<tr><td>건물관리번호 </td><td><input type="text" style="width:500px;" id="bdMgtSn" name="bdMgtSn" /></td></tr>
<tr><td>상세번물명 </td><td><input type="text" style="width:500px;" id="detBdNmList" name="detBdNmList" /></td></tr>
<tr><td>건물명 </td><td><input type="text" style="width:500px;" id="bdNm" name="bdNm" /></td></tr>
<tr><td>공동주택여부 </td><td><input type="text" style="width:500px;" id="bdKdcd" name="bdKdcd" /></td></tr>
<tr><td>시도명 </td><td><input type="text" style="width:500px;" id="siNm" name="siNm" /></td></tr>
<tr><td>시군구명 </td><td><input type="text" style="width:500px;" id="sggNm" name="sggNm" /></td></tr>
<tr><td>읍면동명 </td><td><input type="text" style="width:500px;" id="emdNm" name="emdNm" /></td></tr>
<tr><td>법정리명 </td><td><input type="text" style="width:500px;" id="liNm" name="liNm" /></td></tr>
<tr><td>도로명 </td><td><input type="text" style="width:500px;" id="rn" name="rn" /></td></tr>
<tr><td>지하여부 </td><td><input type="text" style="width:500px;" id="udrtYn" name="udrtYn" /></td></tr>
<tr><td>건물본번 </td><td><input type="text" style="width:500px;" id="buldMnnm" name="buldMnnm" /></td></tr>
<tr><td>건물부번 </td><td><input type="text" style="width:500px;" id="buldSlno" name="buldSlno" /></td></tr>
<tr><td>산여부 </td><td><input type="text" style="width:500px;" id="mtYn" name="mtYn" /></td></tr>
<tr><td>지번본번(번지) </td><td><input type="text" style="width:500px;" id="lnbrMnnm" name="lnbrMnnm" /></td></tr>
<tr><td>지번부번(호) </td><td><input type="text" style="width:500px;" id="lnbrSlno" name="lnbrSlno" /></td></tr>
<tr><td>읍면동일련번호 </td><td><input type="text" style="width:500px;" id="emdNo" name="emdNo" /></td></tr>
</table>
</div>
</form>
</body>
</html>

@ -0,0 +1,25 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/tbms/sm/co/include.jsp"%>
<!DOCTYPE html>
<html>
<head>
<title>주소정보연계 | 도로명주소 안내시스템</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" /><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="Cache-Control" content="no-cache" /><meta http-equiv="Pragma" content="no-cache" /><meta http-equiv="Expires" content="-1" />
</head>
<script language="javascript">
function init(){
jusoCallBack("${zipNo}","${roadAddrPart1}","${addrDetail}", "${roadAddrPart2}");
window.close();
}
function jusoCallBack(zipNo, roadAddrPart1, addrDetail, roadAddrPart2){
window.opener.CURRENT_POST.value = zipNo;
window.opener.CURRENT_JUSO.value = roadAddrPart1;
window.opener.CURRENT_DETAIL.value = addrDetail + " " + roadAddrPart2;
}
</script>
<body onload="init();"></body>
</html>

@ -0,0 +1,32 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/tbms/sm/co/include.jsp"%>
<!DOCTYPE html>
<html>
<head>
<title>주소정보연계 | 도로명주소 안내시스템</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" /><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="Cache-Control" content="no-cache" /><meta http-equiv="Pragma" content="no-cache" /><meta http-equiv="Expires" content="-1" />
</head>
<script language="javascript">
function init(){
var url = "";
var host;
if(location.port == null || location.port == 0 || location.port == "0" || location.port == ""){
host = location.hostname;
} else {
host = location.hostname + ":" + location.port;
}
url = location.protocol + "//" + host;
document.form.returnUrl.value = url + document.form.returnUrl.value;
document.form.submit();
}
</script>
<body onload="init();">
<form id="form" name="form" method="post" action="http://www.juso.go.kr/addrlink/addrLinkUrl.do">
<input type="hidden" id="confmKey" name="confmKey" value="bnVsbDIwMTQxMDE0MDg0NDMz"/>
<input type="hidden" id="returnUrl" name="returnUrl" value="/sm/co/road_juso.do"/>
</form>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,404 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<script type="text/javascript" src="<c:url value="/js/jquery.fileDownload.js"/>"></script>
<form:form id="form" name="form" commandName="lmGm0010LcsnSearchVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="regisYn" name="regisYn" value="Y"/>
<input type="hidden" id="garageId" name="garageId"/>
<input type="hidden" id="holdLcnsNo" name="holdLcnsNo"/>
<input type="hidden" id="searchLcnsNo2" name="searchLcnsNo2"/>
<input type="hidden" id="downloadResn" name="downloadResn" /> <!-- 엑셀 다운로드 사유를 입력받고 내용을 서버로 전송할 때 사용함 -->
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>차고지관리</span><span>차고지관리</span>
</p>
<h2>차고지관리</h2>
<h3>면허 검색</h3>
<!-- search -->
<div class="table01">
<table>
<caption>면허 검색</caption>
<colgroup>
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
</colgroup>
<tbody>
<tr>
<th>면허 번호</th>
<td>
<form:input id="realLcnsNo" path="realLcnsNo" size="13" readonly="true" />
<form:input type="hidden" id="searchLcnsNo" path="searchLcnsNo"/>
<a href="#" class="btn-search ml10" onclick="javascript:fnOpenSmCo07Pop('','');return false;"><span>검색</span></a>
</td>
<th>사업자명</th>
<td><input type="text" id="searchBsNm" name="searchBsNm" value="${lmGm0010LcsnSearchVO.searchBsNm }" onkeypress="javascript:fnEnter(event);"/></td>
<th>업종</th>
<td>
<select id="searchIndutyCode" name="searchIndutyCode">
<option value=""> == 전체 ==</option>
<c:forEach var="row" items="${indutyCodeList }">
<option value="${row.indutyCode}" <c:if test="${row.indutyCode == lmGm0010LcsnSearchVO.searchIndutyCode }">selected="selected"</c:if>>${row.indutyNm }</option>
</c:forEach>
</select>
</td>
<th>차고지 분류</th>
<td>
<select name="searchGarageSe" id="searchGarageSe">
<option value=""> == 전체 ==</option>
<c:forEach items="${garageCodeList}" var="garageCodeList" varStatus="status">
<option value="${garageCodeList.codeNm}" <c:if test="${garageCodeList.codeNm == lmGm0010LcsnSearchVO.searchGarageSe}">selected="selected"</c:if>>${garageCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>임시 면허번호</th>
<td><input type="text" id="searchTempLcnsNo" name="searchTempLcnsNo" value="${lmGm0010LcsnSearchVO.searchTempLcnsNo }" onkeypress="javascript:fnEnter(event);"/></td>
<th>차고지명</th>
<td><input type="text" id="searchGarageNm" name="searchGarageNm" size="25" value="${lmGm0010LcsnSearchVO.searchGarageNm }" onkeypress="javascript:fnEnter(event);"/></td>
<th>면허 관할관청</th>
<td>
<select id="searchPstinst" name="searchPstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmGm0010LcsnSearchVO.searchPstinst}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
<th>차고지 관할관청</th>
<td>
<select id="searchGaragePstinst" name="searchGaragePstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmGm0010LcsnSearchVO.searchGaragePstinst}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>차고지 인가기간</th>
<td colspan="3">
<input type="text" id="searchCnfmBeginDe" class="calendar" name="searchCnfmBeginDe" maxlength="10" value="${lmGm0010LcsnSearchVO.searchCnfmBeginDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
- <input type="text" id="searchCnfmEndDe" class="calendar" name="searchCnfmEndDe" maxlength="10" value="${lmGm0010LcsnSearchVO.searchCnfmEndDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
</td>
<th>차고지 등록기간</th>
<td colspan="3">
<input type="text" id="searchBeginGarageRegistDe" class="calendar" name="searchBeginGarageRegistDe" maxlength="10" value="${lmGm0010LcsnSearchVO.searchBeginGarageRegistDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
- <input type="text" id="searchEndGarageRegistDe" class="calendar" name="searchEndGarageRegistDe" maxlength="10" value="${lmGm0010LcsnSearchVO.searchEndGarageRegistDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
</td>
</tr>
<tr>
<th colspan="2">선택일자기준(유효한 차고지 검색)</th>
<td colspan="2">
<input type="text" id="searchAvailableDe" class="calendar" name="searchAvailableDe" maxlength="10" value="${lmGm0010LcsnSearchVO.searchAvailableDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
</td>
<th>면허상태</th>
<td>
<select id="searchLcnsSttus" name="searchLcnsSttus">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${lcnsSttus}">
<option value="${row.code}" <c:if test="${row.code == lmGm0010LcsnSearchVO.searchLcnsSttus}"> selected="selected"</c:if>>${row.codeNm}</option>
</c:forEach>
</select>
</td>
<th>영업소 차고지 설치 여부</th>
<td><input type="checkbox" id="searchGarageBuzplcAt" name="searchGarageBuzplcAt" class="check" value="N" style="border: 0" onclick="javascript:fnClickChk();" /></td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:goRegGarage();"><strong><span>차고지 등록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1, true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<h3 class="fl">차고지 목록<span class="explain">[총 건수 : <strong>${lmGm0010LcsnSearchVO.totalCount}</strong>건]</span></h3>
<!-- <p class="mb10 fr"><a href="#" onclick="javascript:fnExcel();"><img src="/images/sub/btn-excel.gif" alt="엑셀저장" /></a></p> -->
<p class="mb10 fr"><a href="#" onclick="javascript:fnOpenExcelDownloadReasonPop();"><img src="/images/sub/btn-excel.gif" alt="엑셀저장" /></a></p>
<div class="scroll c_both"> <!-- 스크롤 CSS 추가 -->
<div class="table02">
<table id="list" name="list">
<caption>차고지 목록</caption>
<colgroup>
<col width="120" />
<col width="120" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="120" />
<col width="100" />
<col width="100" />
<col width="120" />
<col width="100" />
<col width="300" />
<col width="120" />
<col width="120" />
</colgroup>
<thead>
<tr>
<th>설치대상</th>
<th>사업자명</th>
<th>면허번호</th>
<th>업종명</th>
<th>차량번호</th>
<th>관할관청</th>
<th>차고지분류</th>
<th>차고지명</th>
<th>차고지등록일</th>
<th>인가기간</th>
<th>인가대수</th>
<th>신고면적</th>
<th>대지면적</th>
<th>차고지주소</th>
<th>차고지 관할관청</th>
<th>면허상태</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty lmgm0010list}">
<c:forEach var="lmgm0010list" items="${lmgm0010list}" varStatus="status">
<tr onclick="javascript:fnView('${lmgm0010list.lcnsNo}','${lmgm0010list.garageId}', this);" style="cursor:pointer;" >
<td class="textC">${lmgm0010list.garageAtNm}</td>
<td class="textC">${lmgm0010list.entrpsNm}</td>
<td class="textC">${lmgm0010list.realLcnsNo}</a></td>
<td class="textC">${lmgm0010list.indutyNm}</a></td>
<td class="textC">${lmgm0010list.vhcleNo}</a></td>
<td class="textC">${lmgm0010list.cmptncNm}</td>
<td class="textC">${lmgm0010list.garageClNm}</a></td>
<td class="textC">${lmgm0010list.garageNm}</td>
<td class="textC">${lmgm0010list.garageRegistDe}</td>
<td class="textC">${lmgm0010list.cnfmDe}</td>
<td class="textC">${tbms_fn:maskNumber(lmgm0010list.cnfmAlge, 3)}</td>
<td class="textC">${lmgm0010list.sttemntAr} m²</td>
<td class="textC">${lmgm0010list.plotAr} m²</td>
<td class="textC"><c:if test="${tbms_fn:printPostNo(lmgm0010list.garagePostNo) !=''}"> ( ${tbms_fn:printPostNo(lmgm0010list.garagePostNo)} )</c:if>
<c:choose>
<c:when test="${fn:length(lmgm0010list.garageAdres) > 28}">
<c:out value="${fn:substring(lmgm0010list.garageAdres,0 ,26)}"/>...</c:when>
<c:otherwise>
<c:out value="${lmgm0010list.garageAdres}"/>
</c:otherwise>
</c:choose>
<td class="textC">${lmgm0010list.garageCmptncNm}</td>
</td>
<td class="textC">${lmgm0010list.lcnsSttusNm}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:if test="${lmGm0010LcsnSearchVO.searchYn == 'Y'}">
<tr><td colspan="16" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:if>
<c:if test="${lmGm0010LcsnSearchVO.searchYn != 'Y' }">
<tr><td colspan="16" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:if>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<p class="mt10">목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1, true, true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}" type="tbms" jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
</div>
</form:form>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript">
$(document).ready(function () {
$('#realLcnsNo').focus();
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 입력후 메시지 dialog
'확인' : function () {
$(this).dialog('close');
}
});
initDatePicker('searchCnfmBeginDe');
initDatePicker('searchCnfmEndDe');
initDatePicker('searchBeginGarageRegistDe');
initDatePicker('searchEndGarageRegistDe');
initDatePicker('searchAvailableDe');
fnCheckBoxSetting();
});
/* 목록 조회 */
function fnSearch(pageNo, button, listChk) {
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
if('${lmgm0010list}' == ''){
return false;
}
}
if($("#searchLcnsNo").val()==""
&& $("#searchBsNm").val()==""
&& $("#searchIndutyCode").val()==""
&& $("#searchGarageSe").val()==""
&& $("#searchTempLcnsNo").val()==""
&& $("#searchGarageNm").val()==""
&& $("#searchPstinst").val()==""
&& $("#searchGaragePstinst").val()==""
&& $("#searchCnfmBeginDe").val()==""
&& $("#searchCnfmEndDe").val()==""
&& $("#searchBeginGarageRegistDe").val()==""
&& $("#searchEndGarageRegistDe").val()==""
&& $("#searchAvailableDe").val()==""
&& $("#searchLcnsSttus").val()==""
&& !$("#searchGarageBuzplcAt").is(":checked")){
alert('검색조건을 1개 이상 입력 또는 선택하세요.');
return false;
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '/lm/gm/00/list.do');
}
/* 면허번호 조회*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId, realLcnsNo) {
$('#searchLcnsNo').val(lcnsNo);
$('#realLcnsNo').val(realLcnsNo);
}
/*
* 상세보기로 이동
*/
function fnView(lcnsNo, garageId, obj) {
wfwTrSelected(obj); /*선택로우색변경 */
$('#holdLcnsNo').val($('#searchLcnsNo').val());
$('#searchLcnsNo2').val(lcnsNo);
$('#garageId').val(garageId);
wfwSubmit('form', '/lm/gm/00/goDetail.do');
}
/*
* 차고지등록
*/
function goRegGarage() {
$('#searchLcnsNo').val("");
$('#realLcnsNo').val("");
wfwSubmit('form', '/lm/gm/00/goRegistStart.do');
}
/*
* 초기화
*/
function fnReset(){
$('#searchLcnsNo').val('');
$('#realLcnsNo').val('');
$('#searchPstinst').val('');
$('#searchGarageNm').val('');
$('#searchBsNm').val('');
$('#searchTempLcnsNo').val('');
}
/*
* 엔터클릭시 조회
*/
function fnEnter(e){
if( e.keyCode == 13 ){
fnSearch(1, true);
}
}
/*
* 엑셀 저장
*/
function fnExcel(){
fnClickChk();
var list = '${lmgm0010list}';
if(list == '[]'){
openDialog('infoDialog', "<spring:message code='WFCO100'/>", null, 'entrpsNm');
return false;
}
//wfwSubmit('form','/lm/gm/00/excel.do');
/** 엑셀다운로드 시작 **/
openProgressBar(); //프로그레스바 노출
$.fileDownload('<c:url value="/lm/gm/00/excel.do"/>',{data:jQuery("#form").serialize()})
.done(function(){
closeProgressBar();
alert("엑셀 다운로드가 완료되었습니다.");
})
.fail(function(){
closeProgressBar();
alert("엑셀 다운로드시 오류가 발생하였습니다.");
});
/** 끝 **/
}
/*
* 영업소 차고지 여부 체크
*/
function fnClickChk(){
if($("input:checkbox[id='searchGarageBuzplcAt']").is(":checked") == true){
$('#searchGarageBuzplcAt').val('Y'); //영업소 차고지임
}else{
$('#searchGarageBuzplcAt').val('N'); //영업소 차고지 아님
}
}
/** 체크박스 셋팅 **/
function fnCheckBoxSetting(){
var searchGarageBuzplcAt = '${lmGm0010LcsnSearchVO.searchGarageBuzplcAt}';
if(searchGarageBuzplcAt == 'Y'){ //영업소 차고지임
$("input[name=searchGarageBuzplcAt]:checkbox").attr("checked",true);
}
}
</script>

@ -0,0 +1,419 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm0010LcsnSearchVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="garageId" name="garageId" value="${lmGm0010LcsnSearchVO.garageId}"/>
<input type="hidden" id="holdLcnsNo" name="holdLcnsNo" value="${lmGm0010LcsnSearchVO.holdLcnsNo}"/>
<input type="hidden" id="searchLcnsNo" name="searchLcnsNo" value="${lmGm0010LcsnSearchVO.searchLcnsNo}"/>
<input type="hidden" id="realLcnsNo" name="realLcnsNo" value="${lmGm0010LcsnSearchVO.realLcnsNo}"/>
<input type="hidden" id="searchPstinst" name="searchPstinst" value="${searchPstinst }"/>
<input type="hidden" id="searchGarageNm" name="searchGarageNm" value="${lmGm0010LcsnSearchVO.searchGarageNm }" />
<input type="hidden" id="user" name="user" value="${user }" />
<input type="hidden" id="cnfmAlge" name="cnfmAlge" />
<input type="hidden" id="prkplceId" name="prkplceId" />
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>차고지관리</span><span>차고지관리</span>
</p>
<c:if test="${tempLcnsNoYn == true }">
<h2>차고지 상세</h2>
<h3>임시면허정보</h3>
<div class="table01">
<table>
<caption>면허 정보 테이블</caption>
<colgroup>
<col width="10%" />
<col width="40%" />
<col width="10%" />
<col width="40%" />
</colgroup>
<tbody>
<tr>
<th>임시면허번호</th>
<td>${lcnsDetail.tmprLcnsNo}</td>
<th>성명</th>
<td>${lcnsDetail.nm}</td>
</tr>
<tr>
<th>주소</th>
<td colspan="3">( ${tbms_fn:printPostNo(lcnsDetail.postNo)} )${lcnsDetail.adres}</td>
</tr>
<tr>
<th>업종</th>
<td>${lcnsDetail.indutyNm}</td>
<th>임시등록사유</th>
<td>${lcnsDetail.tmprRegistResn}</td>
</tr>
<tr>
<th>임시사업허가번호</th>
<td>${lcnsDetail.tmprBsnsPrmisnNo}</td>
<th>소속기관명</th>
<td>${lcnsDetail.insttNm}</td>
</tr>
<tr>
<th>주민등록번호</th>
<td>${tbms_fn:printIhidnum2(lcnsDetail.inhbtntNo)}</td>
<th>비고</th>
<td>${lcnsDetail.rm}</td>
</tr>
</tbody>
</table>
</div>
</c:if>
<c:if test="${tempLcnsNoYn == false }">
<h2>차고지 상세</h2>
<h3>업체정보</h3>
<div class="table01">
<table>
<caption>면허 정보 테이블</caption>
<colgroup>
<col width="10%" />
<col width="40%" />
<col width="10%" />
<col width="40%" />
</colgroup>
<tbody>
<%-- <tr>
<th>관리번호</th>
<td colspan="3">${lcnsDetail.lcnsNo}</td>
</tr> --%>
<tr>
<th>업체명</th>
<td>${lcnsDetail.entrpsNm}</td>
<th>면허번호</th>
<td>${lcnsDetail.realLcnsNo}</td>
</tr>
<tr>
<th>주소</th>
<td colspan="3">${lcnsDetail.postNo}${lcnsDetail.adres}</td>
</tr>
<tr>
<th>면허 관할관청</th>
<td colspan="3">${lcnsDetail.cmptncGrc}</td>
</tr>
<tr>
<th>전화번호</th>
<td>${lcnsDetail.tlphonNo}</td>
<th>팩스번호</th>
<td>${lcnsDetail.faxNo}</td>
</tr>
<tr>
<th>문서번호</th>
<td>${lcnsDetail.etydoorNo}</td>
<th>허가일자</th>
<td>${tbms_fn:printDate(lcnsDetail.lcnsPrmisnDe)}</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3">${lcnsDetail.rm}</td>
</tr>
</tbody>
</table>
</div>
</c:if>
<div class="btn al">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnGoPrint();"><strong><span>차고지설치 확인증</span></strong></a>
<!-- <a href="#" class="btn-w" onclick="javascript:fnReport();"><strong><span>차고지설치 확인증</span></strong></a> -->
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnGoDelete();"><strong><span>차고지 삭제</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<!-- 차고지 상세 -->
<h3>차고지 상세</h3>
<div class="table01">
<table>
<caption>차고지 상세 테이블</caption>
<colgroup>
<col width="10%" />
<col width="40%" />
<col width="10%" />
<col width="40%" />
</colgroup>
<tbody>
<!-- 영업소 인가 차고지 추가 시작 -->
<c:choose>
<c:when test=" ${garageDetail.buzplcManageId eq null }">
</c:when>
<c:otherwise>
<tr>
<th>차고지 인가<br/>영업소명</th>
<td>${garageDetail.buzplcNm}</td>
<th>영업소 주소</th>
<td>${garageDetail.buzplcAdres}</td>
</tr>
</c:otherwise>
</c:choose>
<!-- 영업소 인가 차고지 추가 종료 -->
<tr>
<th>차고지명</th>
<td>${garageDetail.garageNm}</td>
<th>차고지 분류</th>
<td>${garageDetail.codeNm}</td>
</tr>
<tr>
<th>등록일자</th>
<td>${tbms_fn:printDate(garageDetail.garageRegistDe)}</td>
<th>등록 차량번호</th>
<td>${garageDetail.vhcleNo }<br/><span style="color:blue;font-weight:bold;background-image:none;">*(차량이 2대이상인경우 1대만 출력, 법인인 경우 출력안됨.)</span></td>
</tr>
<tr>
<th>차고지 주소</th>
<td colspan="3">${garageDetail.adres}&nbsp;&nbsp;${garageDetail.detailAdres}</td>
</tr>
<tr>
<th>차고지 관할관청</th>
<td>${garageDetail.garageCmptncGrcNm}</td>
<th>차고지 인가대수</th>
<td>${garageDetail.cnfmAlge} 대</td>
</tr>
<tr>
<th>건물 면적</th>
<td>${garageDetail.prkplceAr} m²</td>
<th>대지 면적</th>
<td>${garageDetail.prkplceAr2} m²</td>
</tr>
<tr>
<th>신고 면적</th>
<td>${garageDetail.usefulAr} m²</td>
<th>인가기간</th>
<td>${tbms_fn:printDate(garageDetail.cnfmBeginDe)} ~ ${tbms_fn:printDate(garageDetail.cnfmEndDe)}</td>
</tr>
<tr>
<th>임대여부</th>
<td>${garageDetail.rentSe}</td>
<th>문서번호</th>
<td>${garageDetail.etydoorNo}</td>
</tr>
<tr>
<th>처리일시</th>
<td>${garageDetail.updtDt}</td>
<th>담당자</th>
<td>${garageDetail.updusrCmptncNm}(${garageDetail.updusr})</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3" >${garageDetail.rm}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="combine">
<!-- 차량 목록 -->
<h3>차고지 인가 차량목록<span class="explain">[총 건수 : <strong id="count">${getTotalCountListVhcle }</strong>]</span></h3>
<div class="table02">
<table>
<caption>차량목록</caption>
<colgroup>
<col width="" />
<col width="" />
<col width="" />
<col width="" />
</colgroup>
<thead>
<tr>
<th>차량번호1</th>
<th>차량번호2</th>
<th>차량번호3</th>
<th>차량번호4</th>
</tr>
</thead>
<tbody id="vhcleListT">
<c:forEach var="row" items="${cnfmVhcleList}">
<tr>
<td class="textC">${row.fil01}</td>
<td class="textC">${row.fil02}</td>
<td class="textC">${row.fil03}</td>
<td class="textC">${row.fil04}</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="paging">
<ui:pagination paginationInfo="${vhclePaginationInfo}" type="tbms" jsFunction="fnSearch"/>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmgm00_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:goUpdtStart();"><strong><span>수정</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 입력후 메시지 dialog
'확인' : function () { $(this).dialog('close'); $.unblockUI(); }
});
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
goDelete();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'confirmPrintDialog', '차고지 설치 확인증 출력확인', 520, null, { // 출력확인 dialog
'기존양식대로 출력' : function () {
$(this).dialog('close');
fnReport(1);
},
'개인업종 출력(차량번호 미표시)' : function () {
$(this).dialog('close');
fnReport(2);
},
'출력취소' : function () {
$(this).dialog('close');
}
});
});
/** 목록으로 이동 */
function lmgm00_list() {
$('#searchLcnsNo').val($('#searchLcnsNo').val());
wfwSubmit('form', '/lm/gm/00/list.do');
}
/** 수정화면으로 이동 */
function goUpdtStart() {
wfwSubmit('form', '/lm/gm/00/goUpdtStart.do');
}
/*
* 차고지 설치 확인증 출력(자기 관할관청 건만 차고지 설치 확인증 출력이 가능하다.(단,서울시사용자는 전부 출력 가능하다.))
*/
function fnReport(type){
/*
var loginCmptncGrc = '${pstinst}';
var cmptncGrc = '${garageDetail.cmptncGrc}';
if( loginCmptncGrc != '6110000' && loginCmptncGrc != cmptncGrc ){
openDialog('errorDialog', "<spring:message code='LMPTGL023'/>");
return false;
}
*/
var fileNm = '';
var tempLcnsNoYn = '${tempLcnsNoYn}';
var indutyCode = '${lcnsDetail.indutyCode}';
var userId = '${user}';
var getTotalCountListVhcle = '${getTotalCountListVhcle}';
var garageBuzplcManageId = '${garageDetail.buzplcManageId}';
if(tempLcnsNoYn == 'true' ){ //임시면허 차고지일 경우
if(indutyCode == '121' || indutyCode == '122' || indutyCode == '123' || indutyCode == '131' || indutyCode == '132' || indutyCode == '133' || indutyCode == '134' || indutyCode == '135' || indutyCode == '136'
|| indutyCode == '137' || indutyCode == '138' || indutyCode == '141'){
fileNm = 'LMGM00T_LMPT_RPT';
}else{
fileNm = 'LMGM00T_RPT';
}
}else{
if(indutyCode == '121' || indutyCode == '122' || indutyCode == '123' || indutyCode == '131' || indutyCode == '132' || indutyCode == '133' || indutyCode == '134' || indutyCode == '135' || indutyCode == '136'
|| indutyCode == '137' || indutyCode == '138' || indutyCode == '141'){
if(getTotalCountListVhcle > 0){ //차고지 인가 차량목록-차고지일 경우
if(garageBuzplcManageId != null){
fileNm = 'LMGM00_LMPT_NEW_BUZPLC_RPT';
}else{
fileNm = 'LMGM00_LMPT_NEW_RPT';
}
}else{
if(garageBuzplcManageId != null){
fileNm = 'LMGM00_LMPT_BUZPLC_RPT';
}else{
fileNm = 'LMGM00_LMPT_RPT';
}
}
}else{
if(getTotalCountListVhcle > 0){ //차고지 인가 차량목록-차고지일 경우
if(garageBuzplcManageId != null){
fileNm = 'LMGM00_NEW_BUZPLC_RPT';
}else{
fileNm = 'LMGM00_NEW_RPT';
}
}else{
if(garageBuzplcManageId != null){
fileNm = 'LMGM00_BUZPLC_RPT';
}else{
fileNm = 'LMGM00_RPT';
}
}
}
}
var param = '${garageDetail.garageId}';
$('#reportForm').attr('action', '<c:url value="/ubi4/ubihtml.jsp"/>');
$('#reportForm input[name=file]').val(fileNm);
$('#reportForm input[name=arg]').val('pram1#' + param+"#userId#"+userId+"#type#"+type); //2017-08-01, type 추가(type = 1 기존, type = '', 2 는 차량번호 미표시) , 화물 개인업종에 차량번호 미출력 요구로 추가(기존차량보유하고 있는 가운데 차량 양도양수 받음. 신규 차고지 설치하는 경우, 차량이 양도양수 전이라서 착량번호 표기안됨. )
$('#reportForm').attr('target', 'rptDiv');
$('#reportForm').submit();
}
// 차고지 삭제
function goDelete(){
var cnfmAlge = '${garageDetail.cnfmAlge}';
var prkplceId = '${garageDetail.prkplceId}';
$('#cnfmAlge').val(cnfmAlge);
$('#prkplceId').val(prkplceId);
var getTotalCountListVhcle = '${getTotalCountListVhcle}';
var url = '';
if(getTotalCountListVhcle > 0){ //차고지 인가 차량목록 삭제
url = '<c:url value="/lm/gm/00/ajaxGarageDeleteAddVhcle.do"/>';
}else{ //기존 차고지 삭제
url = '<c:url value="/lm/gm/00/ajaxGarageDelete.do"/>';
}
$.ajax({
url : url,
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '자료가 삭제 되었습니다.');
//$('#searchLcnsNo').val('');
//wfwSubmit('form', '/lm/gm/00/list.do');
} else {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
function fnGoDelete(){
openDialog('confirmSaveDialog', "현재 차고지를 삭제하시겠습니까?");
}
function fnGoPrint(){
openDialog('confirmPrintDialog', "차고지설치 확인증 양식을 선택하세요.");
}
</script>

@ -0,0 +1,284 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm1010VO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>주차장관리</span><span>주차장관리</span>
</p>
<h2>주차장 등록</h2>
<!-- 주차장 정보 입력 -->
<h3>주차장 정보</h3>
<div class="table01">
<table>
<caption>주차장 정보 입력 테이블</caption>
<colgroup>
<col width="10%" />
<col width="40%" />
<col width="10%" />
<col width="40%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>등록일자</th>
<td><input type="text" id="prkplceRegistDe" name="prkplceRegistDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
<th><span>*</span>변경사유</th>
<td>
<select name="changeResnCode" id="changeResnCode" readonly="readonly">
<option value="01">신규등록</option>
</select>
</td>
</tr>
<tr>
<th>주차장번호</th>
<td><input type="text" id="prkplceNo" name="prkplceNo" class="min" maxlength="20" /><a href="#" class="btn-search ml10" onclick="javascript:searchPrkplceNo();"><span>검색</span></a></td>
<th>전화번호</th>
<td><input type="text" id="tlphonNo" name="tlphonNo" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" maxlength="13" style="ime-mode:disabled" size="16"/>
</tr>
<tr>
<th><span>*</span>주차장명</th>
<td><input type="text" id="prkplceNm" name="prkplceNm" class="min" maxlength="50"/></td>
<th><span>*</span>주차장 구분</th>
<td>
<select id="prkplceSe" name="prkplceSe" style="width:30%">
<option value=""> == 선택 ==</option>
<c:forEach items="${parntsCodeList}" var="parntsCodeList" varStatus="status">
<option value="${parntsCodeList.code}">${parntsCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>소유자명</th>
<td><input type="text" class="min" id="ownerNm" name="ownerNm" maxlength="50"/></td>
<th><span>*</span>주민등록번호</th>
<td><input type="text" id="ownerInhbtntNo" name="ownerInhbtntNo" onkeypress="javascript:return wfwInhbtntDashFormat(this);" style="ime-mode:disabled" size="16" maxlength="14"/></td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td colspan="3">
<input type="text" id="postNo" name="postNo" size="7" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7" />
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo','adres','detailAdres');"><span>검색</span></a>
<input type="text" id="adres" name="adres" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th><span>*</span>상세주소</th>
<td colspan="3"><input type="text" id="detailAdres" name="detailAdres" size="118" maxlength="300"/></td>
</tr>
<tr>
<th><span>*</span>주차대수</th>
<td><input type="text" id="parkngAlge" name="parkngAlge" class="min" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10" /> 대
&nbsp;<span style="color:blue;">(전체 주차 면적 대비 대수)</span>
</td>
<th><span>*</span>주차면적</th>
<td><input type="text" id="prkplceAr" name="prkplceAr" class="min" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="9" /> m²</td>
</tr>
<tr>
<th><span>*</span>계약대수</th>
<td><input type="text" id="cntrctAlge" name="cntrctAlge" class="min" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10" /> 대</td>
<th>계약면적</th>
<td><input type="text" id="cntrctAr" name="cntrctAr" class="min" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="9" /> m²</td>
</tr>
<tr>
<th>공문번호</th>
<td><input type="text" id="etydoorNo" name="etydoorNo" size="20" maxlength="50"/></td>
<th><span>*</span>관할관청</th>
<td>
<select id="pstinst" name="pstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}">${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea id="rm" name="rm" class="max" maxlength="500"></textarea></td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmgm10_list();"><strong><span>주차장목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>등록</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
initDatePicker('prkplceRegistDe');
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
$.unblockUI();
lmgm10_list();
}
});
});
/* 목록으로 이동 */
function lmgm10_list() {
wfwSubmit('form','/lm/gm/10/list.do');
}
function searchPrkplceNo(){
alert("구현준비중 입니다.");
}
/*
* 입력값 검증
*/
function fnValidateValues() {
// 등록일
if (!checkDate('prkplceRegistDe')) {
openDialog('errorDialog', '등록일을 선택하세요.', null, 'prkplceRegistDe');
return false;
}
// 주차장명
if (lengthKor('prkplceNm') == 0) {
openDialog('errorDialog', '주차장명을 입력하세요.', null, 'prkplceNm');
return false;
}else if(lengthKor('prkplceNm') > 50){
openDialog('errorDialog', '주차장명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('prkplceNm')+')', null, 'prkplceNm');
return false;
}
// 주차장 구분
if (isEmpty('prkplceSe')) {
openDialog('errorDialog', '주차장 구분을 선택하세요.', null, 'prkplceSe');
return false;
}
// 소유자명
if (lengthKor('ownerNm') == 0) {
openDialog('errorDialog', '소유자명을 입력하세요.', null, 'ownerNm');
return false;
}else if(lengthKor('ownerNm') > 50){
openDialog('errorDialog', '소유자명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('ownerNm')+')', null, 'ownerNm');
return false;
}
// 주소
if (lengthKor('adres') == 0) {
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres');
return false;
}else if(lengthKor('adres') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres')+')', null, 'adres');
return false;
}
// 상세주소
if (lengthKor('detailAdres') == 0) {
openDialog('errorDialog', '상세주소를 입력하세요.', null, 'detailAdres');
return false;
}else if(lengthKor('detailAdres') > 300){
openDialog('errorDialog', '상세주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres')+')', null, 'detailAdres');
return false;
}
// 주차대수
if (isEmpty('parkngAlge')) {
openDialog('errorDialog', '주차대수를 입력하세요.', null, 'parkngAlge');
return false;
}
// 주차면적
if (isEmpty('prkplceAr')) {
openDialog('errorDialog', '주차면적을 입력하세요.', null, 'prkplceAr');
return false;
}
// 계약대수
if (isEmpty('cntrctAlge')) {
openDialog('errorDialog', '계약대수를 입력하세요.', null, 'cntrctAlge');
return false;
}
/* // 계약면적
if (isEmpty('cntrctAr')) {
openDialog('errorDialog', '계약면적을 입력하세요.', null, 'cntrctAr');
return false;
} */
if(lengthKor('rm') > 300){
openDialog('errorDialog', '비고 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('rm')+')', null, 'detailAdres');
return false;
}
openDialog('confirmSaveDialog', '자료를 등록 하시겠습니까?');
}
/* 등록 */
function fnSave(){
if($('#cntrctAr').val() == ''){ // 계약면적 미입력시 디폴트 0으로 셋팅
$('#cntrctAr').val(0);
}
removeSpecific('prkplceRegistDe');
removeSpecific('postNo');
removeSpecific('parkngAlge');
removeSpecific('prkplceAr');
removeSpecific('cntrctAlge');
removeSpecific('cntrctAr');
$.ajax({
url : '<c:url value="/lm/gm/10/ajaxInsertStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '자료가 등록 되었습니다.');
} else {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
}
dateTransformDash('prkplceRegistDe');
postTransformDash('postNo');
numTransformComma('parkngAlge');
numTransformComma('prkplceAr');
numTransformComma('cntrctAlge');
numTransformComma('cntrctAr');
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/** 초기화 */
function fnReset(){
$('#form')[0].reset();
}
</script>

@ -0,0 +1,323 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm1010VO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="prkplceId" name="prkplceId" value="${prkplceDetail.prkplceId}"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>주차장관리</span><span>주차장관리</span>
</p>
<h2>주차장 수정</h2>
<!-- 주차장 정보 입력 -->
<h3>주차장 정보</h3>
<div class="table01">
<table>
<caption>주차장 정보 수정 테이블</caption>
<colgroup>
<col width="10%" />
<col width="40%" />
<col width="10%" />
<col width="40%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>등록일자</th>
<td><input type="text" id="prkplceRegistDe" name="prkplceRegistDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" value="${tbms_fn:printDate(prkplceDetail.prkplceRegistDe)}" maxlength="10"/></td>
<th><span>*</span>변경사유</th>
<td>
<select name="changeResnCode" id="changeResnCode" style="width:30%">
<option value=""> == 선택 ==</option>
<c:forEach items="${parntsCodeList}" var="parntsCodeList" varStatus="status">
<option value="${parntsCodeList.code}">${parntsCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>주차장번호<span></span></th>
<td><input type="text" id="prkplceNo" name="prkplceNo" value="${prkplceDetail.prkplceNo}" class="min" /><a href="#" class="btn-search ml10" onclick="javascript:prkplceNo();" maxlength="20"><span>검색</span></a></td>
<th>전화번호</th>
<td><input type="text" id="tlphonNo" name="tlphonNo" value="${prkplceDetail.tlphonNo}" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" maxlength="13" style="ime-mode:disabled" size="16"/>
</tr>
<tr>
<th><span>*</span>주차장명</th>
<td><input type="text" id="prkplceNm" name="prkplceNm" value="${prkplceDetail.prkplceNm}" class="min" maxlength="50"/></td>
<th><span>*</span>주차장 구분</th>
<td>
<select name="prkplceSe" id="prkplceSe" style="width:30%">
<option value=""> == 선택 ==</option>
<c:forEach items="${parntsCodeList2}" var="parntsCodeList2" varStatus="status">
<option value="${parntsCodeList2.code}" <c:if test="${prkplceDetail.prkplceSe == parntsCodeList2.codeNm}">selected="selected"</c:if>>${parntsCodeList2.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>소유자명</th>
<td><input type="text" class="min" id="ownerNm" name="ownerNm" value="${prkplceDetail.ownerNm}" maxlength="50"/></td>
<th><span>*</span>주민등록번호</th>
<td><input type="text" id="ownerInhbtntNo" name="ownerInhbtntNo" value="${tbms_fn:printIhidnum2(prkplceDetail.ownerInhbtntNo)}" onkeypress="javascript:return wfwInhbtntDashFormat(this);" style="ime-mode:disabled" size="16" maxlength="14"/></td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td colspan="3">
<input type="text" id="postNo" name="postNo" value="${prkplceDetail.postNo2}" onkeypress="javascript:return wfwPostDashFormat(this);" size="7" maxlength="7"/>
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo','adres','detailAdres');"><span>검색</span></a>
<input type="text" id="adres" name="adres" value="${prkplceDetail.adres}" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th><span>*</span>상세주소</th>
<td colspan="3"><input type="text" id="detailAdres" name="detailAdres" value="${prkplceDetail.detailAdres}"size="118" maxlength="300"/></td>
</tr>
<tr>
<th><span>*</span>주차대수</th>
<td><input type="text" id="parkngAlge" name="parkngAlge" value="${prkplceDetail.parkngAlge}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" class="min" maxlength="10"/> 대
&nbsp;<span style="color:blue;">(전체 주차 면적 대비 대수)</span>
</td>
<th><span>*</span>주차면적</th>
<td><input type="text" id="prkplceAr" name="prkplceAr" value="${prkplceDetail.prkplceAr}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" class="min" maxlength="9"/> m²</td>
</tr>
<tr>
<th><span>*</span>계약대수</th>
<td><input type="text" id="cntrctAlge" name="cntrctAlge" value="${prkplceDetail.cntrctAlge}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" class="min" maxlength="10"/> 대</td>
<th>계약면적</th>
<td><input type="text" id="cntrctAr" name="cntrctAr" value="${prkplceDetail.cntrctAr}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" class="min" maxlength="9"/> m²</td>
</tr>
<tr>
<th>공문번호</th>
<td><input type="text" id="etydoorNo" name="etydoorNo" value="${prkplceDetail.etydoorNo}" class="mid" maxlength="50"/></td>
<th><span>*</span>관할관청</th>
<td>
<select id="pstinst" name="pstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${prkplceDetail.cmptncGrc == row.psitnInsttCode}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea id="rm" name="rm" class="max" maxlength="500">${prkplceDetail.rm}</textarea></td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmgm10_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>수정</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
initDatePicker('prkplceRegistDe');
postTransformDash('postNo');
numTransformComma('parkngAlge');
numTransformComma('prkplceAr');
numTransformComma('cntrctAlge');
numTransformComma('cntrctAr');
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
$.unblockUI();
lmgm10_list();
}
});
});
/* 목록으로 이동 */
function lmgm10_list() {
wfwSubmit('form','/lm/gm/10/list.do');
}
/*
* 입력값 검증
*/
function fnValidateValues() {
// 등록일
if (!checkDate('prkplceRegistDe')) {
openDialog('errorDialog', '등록일을 선택하세요.', null, 'prkplceRegistDe');
return false;
}
// 변경사유
if (isEmpty('changeResnCode')) {
openDialog('errorDialog', '변경사유를 선택하세요.', null, 'changeResnCode');
return false;
}
// 주차장명
if (lengthKor('prkplceNm') == 0) {
openDialog('errorDialog', '주차장명을 입력하세요.', null, 'prkplceNm');
return false;
}else if(lengthKor('prkplceNm') > 50){
openDialog('errorDialog', '주차장명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('prkplceNm')+')', null, 'prkplceNm');
return false;
}
// 주차장 구분
if (isEmpty('prkplceSe')) {
openDialog('errorDialog', '주차장 구분을 선택하세요.', null, 'prkplceSe');
return false;
}
// 소유자명
if (lengthKor('ownerNm') == 0) {
openDialog('errorDialog', '소유자명을 입력하세요.', null, 'ownerNm');
return false;
}else if(lengthKor('ownerNm') > 50){
openDialog('errorDialog', '소유자명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('ownerNm')+')', null, 'ownerNm');
return false;
}
// 주소
if (lengthKor('adres') == 0) {
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres');
return false;
}else if(lengthKor('adres') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres')+')', null, 'adres');
return false;
}
// 상세주소
if (lengthKor('detailAdres') == 0) {
openDialog('errorDialog', '상세주소를 입력하세요.', null, 'detailAdres');
return false;
}else if(lengthKor('detailAdres') > 300){
openDialog('errorDialog', '상세주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres')+')', null, 'detailAdres');
return false;
}
// 주차대수
if (isEmpty('parkngAlge')) {
openDialog('errorDialog', '주차대수를 입력하세요.', null, 'parkngAlge');
return false;
}
// 주차면적
if (isEmpty('prkplceAr')) {
openDialog('errorDialog', '주차면적을 입력하세요.', null, 'prkplceAr');
return false;
}
// 계약대수
if (isEmpty('cntrctAlge')) {
openDialog('errorDialog', '계약대수를 입력하세요.', null, 'cntrctAlge');
return false;
}
// 계약면적
/* if (isEmpty('cntrctAr')) {
openDialog('errorDialog', '계약면적을 입력하세요.', null, 'cntrctAr');
return false;
} */
//
if (isEmpty('pstinst')) {
openDialog('errorDialog', '주차장 관할관청을 선택하세요.', null, 'pstinst');
return false;
}
if(lengthKor('rm') > 300){
openDialog('errorDialog', '비고 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('rm')+')', null, 'detailAdres');
return false;
}
openDialog('confirmSaveDialog', '자료를 수정 하시겠습니까?');
}
/* 등록 */
function fnSave(){
if($('#cntrctAr').val() == ''){ // 계약면적 미입력시 디폴트 0으로 셋팅
$('#cntrctAr').val(0);
}
removeSpecific('prkplceRegistDe');
removeSpecific('postNo');
removeSpecific('parkngAlge');
removeSpecific('prkplceAr');
removeSpecific('cntrctAlge');
removeSpecific('cntrctAr');
$.ajax({
url : '<c:url value="/lm/gm/10/ajaxUpdtStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료수정에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '자료가 수정 되었습니다.');
} else {
openDialog('errorDialog', '자료수정에 실패하였습니다.');
}
dateTransformDash('prkplceRegistDe');
postTransformDash('postNo');
numTransformComma('parkngAlge');
numTransformComma('prkplceAr');
numTransformComma('cntrctAlge');
numTransformComma('cntrctAr');
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/** 주차장명 팝업 */
function prkplceNo(){
alert("행망에서 작업..");
}
/** 초기화 */
function fnReset(){
$('#prkplceRegistDe').val("");
$('#changeResnCode').val("");
$('#prkplceNo').val("");
$('#prkplceNm').val("");
$('#prkplceSe').val("");
$('#ownerNm').val("");
$('#postNo').val("");
$('#adres').val("");
$('#detailAdres').val("");
$('#parkngAlge').val("");
$('#prkplceAr').val("");
$('#cntrctAlge').val("");
$('#cntrctAlge').val("");
$('#cntrctAr').val("");
$('#rm').val("");
}
</script>

@ -0,0 +1,231 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<script type="text/javascript" src="<c:url value="/js/jquery.fileDownload.js"/>"></script>
<form:form id="form" name="form" commandName="lmGm1010SearchVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="prkplceId" name="prkplceId"/>
<input type="hidden" id="excelType" name="excelType"/>
<input type="hidden" id="searchType" name="searchType" value="currentDate"/>
<input type="hidden" id="downloadResn" name="downloadResn" /> <!-- 엑셀 다운로드 사유를 입력받고 내용을 서버로 전송할 때 사용함 -->
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>차고지관리</span><span>주차장관리</span>
</p>
<h2>주차장관리</h2>
<h3>주차장 검색</h3>
<!-- search -->
<div class="table01">
<table>
<caption>주차장 검색</caption>
<colgroup>
<col width="10%" />
<col width="15%" />
<col width="10%" />
<col width="15%" />
<col width="10%" />
<col width="15%" />
<col width="10%" />
<col width="15%" />
</colgroup>
<tbody>
<tr>
<th>주차장분류</th>
<td>
<select name="searchPrkplceSe" id="searchPrkplceSe" >
<option value=""> == 전체 == </option>
<c:forEach items="${parntsCodeList}" var="parntsCodeList" varStatus="status">
<option value="${parntsCodeList.code}" <c:if test="${lmGm1010SearchVO.searchPrkplceSe == parntsCodeList.code}"> selected="selected"</c:if>>${parntsCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
<th>주차장명</th>
<td>
<input type="text" id="searchPrkplceNm" name="searchPrkplceNm" value="${lmGm1010SearchVO.searchPrkplceNm}"/>
</td>
<th>소유자명</th>
<td>
<input type="text" id="searchOwnerNm" name="searchOwnerNm" value="${lmGm1010SearchVO.searchOwnerNm }"/>
</td>
<th>관할관청</th>
<td>
<select id="searchPstinst" name="searchPstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmGm1010SearchVO.searchPstinst}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:goRegistStart();"><strong><span>주차장 등록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1, true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<h3 class="fl">주차장 목록<span class="explain">[총 건수 : <strong>${lmGm1010SearchVO.totalCount}</strong>건]</span></h3>
<!-- <p class="mb10 fr"><a href="#" onclick="javascript:fnExcel();"><img src="/images/sub/btn-excel.gif" alt="엑셀저장" /></a></p> -->
<p class="mb10 fr"><a href="#" onclick="javascript:fnOpenExcelDownloadReasonPop();"><img src="/images/sub/btn-excel.gif" alt="엑셀저장" /></a></p>
<div class="table02">
<table id="list" name="list">
<caption>주차장 목록</caption>
<colgroup>
<col width=""/>
<col width=""/>
<col width=""/>
<col width=""/>
<col width=""/>
<col width=""/>
<col width=""/>
<col width=""/>
<col width=""/>
<col width=""/>
<col width=""/>
</colgroup>
<thead>
<tr>
<th>주차장명</th>
<th>소유자명</th>
<th>주차장분류</th>
<th>주차장번호</th>
<th>주차대수</th>
<th>계약대수</th>
<th>주차면적</th>
<th>계약면적</th>
<th>주소</th>
<th>전화번호</th>
<th>관할관청</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty lmgm1010list}">
<c:forEach var="lmgm1010list" items="${lmgm1010list}" varStatus="status">
<tr onclick="javascript:fnView('${lmgm1010list.prkplceNm}','${lmgm1010list.prkplceId}', this);" style="cursor:pointer;" >
<td class="textC">${lmgm1010list.prkplceNm}</td>
<td class="textC">${lmgm1010list.ownerNm}</td>
<td class="textC">${lmgm1010list.prkplceSe}</td>
<td class="textC">${lmgm1010list.prkplceId}</td>
<td class="textC">${lmgm1010list.parkngAlge}</td>
<td class="textC">${lmgm1010list.cntrctAlge}</td>
<td class="textC">${lmgm1010list.prkplceAr}</td>
<td class="textC">${lmgm1010list.cntrctAr}</td>
<td class="textC">${lmgm1010list.postNo} ${lmgm1010list.adres} ${lmgm1010list.detailAdres}</td>
<td class="textC">${lmgm1010list.tlphonNo}</td>
<td class="textC">${lmgm1010list.cmptncGrcNm }</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:choose>
<c:when test="${lmGm1010SearchVO.searchYn == 'Y' }">
<tr><td colspan="11" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:when>
<c:otherwise>
<tr><td colspan="11" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<p class="mt10">목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1, true, true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}" type="tbms" jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
</div>
</form:form>
<script type="text/javascript">
/* 목록 조회 */
function fnSearch(pageNo, button, listChk) {
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
if('${lmgm1010list}' == ''){
return false;
}
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '/lm/gm/10/list.do');
}
/** 상세보기 */
function fnView(prkplceNm, prkplceId, obj) {
/*선택로우색변경 */
wfwTrSelected(obj);
$('#prkplceId').val(prkplceId);
wfwSubmit('form', '/lm/gm/10/goDetail.do');
}
/** 등록 */
function goRegistStart() {
wfwSubmit('form', '/lm/gm/10/goRegistStart.do');
}
/*
* 초기화
*/
function fnReset(){
$('#searchPrkplceSe').val('');
$('#searchPstinst').val('');
$('#searchPrkplceNm').val('');
$('#searchOwnerNm').val('');
}
/*
* 엑셀 저장
*/
function fnExcel(){
$('#excelType').val("list");
var list = '${lmgm1010list}';
if(list == '[]'){
openDialog('infoDialog', "<spring:message code='WFCO100'/>", null, 'entrpsNm');
return false;
}
//wfwSubmit('form','/lm/gm/10/excel.do');
/** 엑셀다운로드 시작 **/
openProgressBar(); //프로그레스바 노출
$.fileDownload('<c:url value="/lm/gm/10/excel.do"/>',{data:jQuery("#form").serialize()})
.done(function(){
closeProgressBar();
alert("엑셀 다운로드가 완료되었습니다.");
})
.fail(function(){
closeProgressBar();
alert("엑셀 다운로드시 오류가 발생하였습니다.");
});
/** 끝 **/
}
</script>

@ -0,0 +1,402 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm1010SearchVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="prkplceId" name="prkplceId" value="${prkplceDetail.prkplceId}"/>
<input type="hidden" id="searchPrkplceSe" name="searchPrkplceSe" value="${lmGm1010SearchVO.searchPrkplceSe}"/>
<input type="hidden" id="searchPrkplceNm" name="searchPrkplceNm" value="${lmGm1010SearchVO.searchPrkplceNm}"/>
<input type="hidden" id="searchOwnerNm" name="searchOwnerNm" value="${lmGm1010SearchVO.searchOwnerNm}"/>
<input type="hidden" id="searchPstinst" name="searchPstinst" value="${lmGm1010SearchVO.searchPstinst}"/>
<input type="hidden" id="searchType" name="searchType" value="currentDate"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>차고지관리</span><span>주차장관리</span>
</p>
<h2>주차장 상세</h2>
<!-- 면허 정보 -->
<h3>주차장 상세</h3>
<div class="table01">
<table>
<caption>면허 정보 테이블</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th>주차장명</th>
<td>${prkplceDetail.prkplceNm}</td>
<th>주차장번호</th>
<td>${prkplceDetail.prkplceId}</td>
</tr>
<tr>
<th>등록일자</th>
<td>${tbms_fn:printDate(prkplceDetail.prkplceRegistDe)}</td>
<th>주차장구분</th>
<td>${prkplceDetail.prkplceSe}</td>
</tr>
<tr>
<th>소유자명</th>
<td>${prkplceDetail.ownerNm}</td>
<th>소유자 주민등록번호</th>
<td>${tbms_fn:printIhidnum2(prkplceDetail.ownerInhbtntNo)}</td>
</tr>
<tr>
<th>공문번호</th>
<td>${prkplceDetail.etydoorNo}</td>
<th>전화번호</th>
<td>${prkplceDetail.tlphonNo}</td>
</tr>
<tr>
<th>주소</th>
<td colspan="3">${prkplceDetail.postNo} ${prkplceDetail.adres} ${prkplceDetail.detailAdres}</td>
</tr>
<tr>
<th>주차대수(전체 주차 면적 대비 대수)</th>
<td>${tbms_fn:maskNumber(prkplceDetail.parkngAlge, 3)} 대</td>
<th>주차면적</th>
<td>${tbms_fn:maskNumber(prkplceDetail.prkplceAr, 3)} ㎡</td>
</tr>
<tr>
<th>계약대수</th>
<td>${tbms_fn:maskNumber(prkplceDetail.cntrctAlge, 3)} 대</td>
<th>계약면적</th>
<td>${tbms_fn:maskNumber(prkplceDetail.cntrctAr, 3)} ㎡</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3">${prkplceDetail.rm}</td>
</tr>
</tbody>
</table>
</div>
<!-- //면허 정보 -->
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmgm10_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:goUpdtStart();"><strong><span>수정</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnOpenDeletePop();"><strong><span>삭제</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<h3>주차장 계약 차량 목록<span class="explain">[총 건수 : <strong>${lmGm1010SearchVO.totalCount}</strong> 건]</span></h3>
<p class="mb10 fr"><a href="#" onclick="javascript:fnExcel();"><img src="<c:url value="/images/sub/btn-excel.gif"/>" alt="엑셀저장" /></a></p>
<div class="section-tab">
<ul class="tab-navi">
<li><a id="aCurrent" href="#" onclick="javascript:fnPrkplceCnfmVhcles('currentDate');" class="current"><strong><span>현재일자기준 계약차량목록</span></strong></a></li>
<li><a id="aAll" href="#" onclick="javascript:fnPrkplceCnfmVhcles('all');"><strong><span>총 계약차량목록</span></strong></a></li>
</ul>
</div>
<div class="scroll c_both"> <!-- 스크롤 CSS 추가 -->
<div class="table02">
<table id="list" name="list">
<caption>주차장 계약 차량 목록</caption>
<colgroup>
<col width="100"/>
<col width="140"/>
<col width="100"/>
<col width="100"/>
<col width="100"/>
<col width="100"/>
<col width="100"/>
<col width="100"/>
<col width="100"/>
<col width="300"/>
<col width="100"/>
<col width="100"/>
<col width="100"/>
</colgroup>
<thead>
<tr>
<th>차량번호</th>
<th>차대번호</th>
<th>사업자명</th>
<th>인가시작일</th>
<th>인가만료일</th>
<th>인가대수</th>
<th>인가면적(㎡)</th>
<th>업종</th>
<th>등록일자</th>
<th>주소</th>
<th>번지</th>
<th>전화번호</th>
<th>관할관청</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty prkplceCnfmList}">
<c:forEach var="prkplceCnfmList" items="${prkplceCnfmList}" varStatus="status">
<tr>
<td class="textC">${prkplceCnfmList.vhcleNo }</td>
<td class="textC">${prkplceCnfmList.atmblrgeNo }</td>
<td class="textC">${prkplceCnfmList.entrpsNm}</td>
<td class="textC">${tbms_fn:printDate(prkplceCnfmList.cnfmBeginDe)}</td>
<td class="textC">${tbms_fn:printDate(prkplceCnfmList.cnfmEndDe)}</td>
<td class="textC">${prkplceCnfmList.cnfmAlge}대</td>
<td class="textC">${prkplceCnfmList.sttemntAr}㎡</td>
<td class="textC">${prkplceCnfmList.indutyNm}</td>
<td class="textC">${prkplceCnfmList.garageRegistDe}</td>
<td class="textC">${prkplceCnfmList.adres}</td>
<td class="textC">${prkplceCnfmList.postNo}</td>
<td class="textC">${prkplceCnfmList.tlphonNo}</td>
<td class="textC">${prkplceCnfmList.cmptncNm }</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:choose>
<c:when test="${lmGm1010SearchVO.searchYn == 'Y' }">
<tr><td colspan="13" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:when>
<c:otherwise>
<tr><td colspan="13" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<p class="mt10">목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1, true, true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}" type="tbms" jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
<!-- layer pop -->
<div class="mw_layer" id="prkplceDeletePop">
<!-- 팝업 영역 시작-->
<div class="popWrap">
<!-- 팝업 header -->
<div class="pop-header" id="prkplceDeletePopHeader">
<h1><strong>주차장 삭제</strong></h1>
<a href="#layer_anchor" class="close" title="닫기" onclick="javascript:$.unblockUI();">닫기</a>
</div>
<!-- //팝업 header -->
<!-- 팝업 body -->
<div class="pop-body">
<h3>주차장 삭제</h3>
<div class="table01">
<table>
<caption>주차장 삭제</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>삭제일자</th>
<td><input type="text" class="calendar" maxlength="10" id="prkplceDeleteDe" name="prkplceDeleteDe" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/></td>
<th><span>*</span>문서번호</th>
<td><input type="text" id="prkplceDeleteEtydoorNo" name="prkplceDeleteEtydoorNo" class="max" maxlength="20"/></td>
</tr>
<tr>
<th>삭제사유</th>
<td colspan="3"><textarea id="prkplceDeleteResn" name="prkplceDeleteResn" class="max" maxlength="200"></textarea></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- //팝업 body -->
<!-- 버튼 -->
<div class="btn ar area">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>확인</span></strong></a>
<a href="#layer_anchor" class="btn-w close" onclick="javascript:$.unblockUI();"><strong><span>닫기</span></strong></a>
</div>
<!-- // 버튼 -->
</div>
<!-- //팝업 영역 끝 -->
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 정보메시지 출력을 위한 dialog 초기화
initDatePicker('prkplceDeleteDe');
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnGoDeletePrk();
},
'취소' : function () {
$(this).dialog('close');
}
});
tapCheck();
});
/** 목록으로 이동 */
function lmgm10_list() {
wfwSubmit('form', '/lm/gm/10/list.do');
}
/** 수정화면으로 이동 */
function goUpdtStart() {
wfwSubmit('form', '/lm/gm/10/goUpdtStart.do');
}
/* 목록 조회 */
function fnSearch(pageNo, button, listChk) {
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
if('${prkplceCnfmList}' == ''){
return false;
}
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '/lm/gm/10/goDetail.do');
}
/*
* 엑셀 저장
*/
function fnExcel(){
tapCheck();
var list = '${list}';
if(list == '[]'){
openDialog('infoDialog', "<spring:message code='WFCO100'/>");
return false;
}
wfwSubmit('form','/lm/gm/10/excel.do');
}
/*
* 주차장 삭제
*/
function fnGoDeletePrk(){
// 1. 허가일 '-' 제거
var prkplceDeleteDe = $('#prkplceDeleteDe').val().replace(/\-/gi, '');
var prkplceDeleteEtydoorNo = $('#prkplceDeleteEtydoorNo').val();
var prkplceDeleteResn = $('#prkplceDeleteResn').val();
//var lcnsNo = "${list.trnsfrLcnsNo}";
var prkplceId = "${prkplceDetail.prkplceId}";
$.ajax({
url : '<c:url value="/lm/gm/10/ajaxDeletePrkplce.do"/>',
type : 'post',
async : false,
traditional : true,
data : {prkplceDeleteDe:prkplceDeleteDe,
prkplceDeleteEtydoorNo:prkplceDeleteEtydoorNo,
prkplceDeleteResn:prkplceDeleteResn,
//lcnsNo:lcnsNo,
prkplceId:prkplceId
},
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', "<spring:message code='WFCOGL100'/>");
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('infoDialog', "<spring:message code='WFCO003'/>");
} else {
openDialog('errorDialog', "<spring:message code='WFCOGL100'/>");
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/*
* 주차장 삭제 팝업 오픈
*/
function fnOpenDeletePop(){
$.blockUI({ message : $('#prkplceDeletePop') });
}
/**
* 입력 값 체크
*/
function fnValidateValues(){
// 1. 주차장 삭제일자
if(!checkDate('prkplceDeleteDe')) {
openDialog('errorDialog', "주차장 삭제일자<spring:message code='WFCO205'/>", null, 'prkplceDeleteDe');
return false;
}
// 2. 주차장 삭제 문서번호
if (!checkLength('prkplceDeleteEtydoorNo', 1, 20)) {
openDialog('errorDialog', "문서번호를 <spring:message code='WFCO200'/>", null, 'prkplceDeleteEtydoorNo');
return false;
}
openDialog('confirmSaveDialog', "해당 주차장을 삭제하시겠습니까?");
}
/**
* 주차장 계약 차량 목록
**/
function fnPrkplceCnfmVhcles(searchType){
//alert(searchType);
if(searchType == "all"){
$('#searchType').val("all"); //총 계약차량목록
$('#aCurrent').attr('class','');
$('#aAll').attr('class','current');
}else{
$('#searchType').val("currentDate"); //현재일자기준 계약차량목록
$('#aAll').attr('class','');
$('#aCurrent').attr('class','current');
}
wfwSubmit('form', '/lm/gm/10/goDetail.do');
}
function tapCheck(){
var searchType = '${lmGm1010SearchVO.searchType}';
//alert(searchType);
if(searchType == "all"){
$('#searchType').val("all"); //총 계약차량목록
$('#aCurrent').attr('class','');
$('#aAll').attr('class','current');
}else{
$('#searchType').val("currentDate"); //현재일자기준 계약차량목록
$('#aAll').attr('class','');
$('#aCurrent').attr('class','current');
}
}
</script>

@ -0,0 +1,209 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm2010InsertVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>주차장관리</span><span>안내문관리</span>
</p>
<h2>안내문 등록</h2>
<!-- 주차장 정보 입력 -->
<h3>안내문 정보</h3>
<div class="table01">
<table>
<caption>안내문 정보 입력 테이블</caption>
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>안내문 구분</th>
<td>
<select name="gdccKnd" id="gdccKnd" class="med">
<option value=""> == 선택 == </option>
<c:forEach items="${parntsCodeList}" var="parntsCodeList" varStatus="status">
<option value="${parntsCodeList.code}">${parntsCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span></span>결재형식</th>
<td><input type="text" id="sanctnFom" name="sanctnFom" maxlength="100" /></td>
</tr>
<tr>
<th><span></span>결재라인</th>
<td><input type="text" id="sanctnLine" name="sanctnLine" size="20" maxlength="100"/></td>
</tr>
<tr>
<th><span></span>협조자</th>
<td><input type="text" id="spprtr" name="spprtr" size="20" maxlength="50"/></td>
</tr>
<tr>
<th><span>*</span>시행</th>
<td>
<input type="text" id="opertndoorNo" name="opertndoorNo" size="20" maxlength="50"/>
<input type="text" class="calendar" id="opertnDe" name="opertnDe" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled" maxlength="10"/>
</td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td><input type="text" id="adres" name="adres" style="width: 99%" maxlength="300"/></td>
</tr>
<tr>
<th><span>*</span>전화</th>
<td><input type="text" size="20" id="tlphonNo" name="tlphonNo" maxlength="100"/></td>
</tr>
<tr>
<th><span>*</span>안내문 내용</th>
<td><textarea id="cn" name="cn" rows="7" class="max" ></textarea></td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmgm20_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>등록</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
$.unblockUI();
lmgm20_list();
}
});
initDatePicker('opertnDe');
});
/* 목록으로 이동 */
function lmgm20_list() {
wfwSubmit('form','/lm/gm/20/list.do');
}
/*
* 입력값 검증
*/
function fnValidateValues() {
/** 안내문 내용 */
if (isEmpty('gdccKnd')) {
openDialog('errorDialog', '안내문 구분을 선택하세요.', null, 'gdccKnd');
return false;
}
/** 결재형식 */
/* if (isEmpty('sanctnFom')) {
openDialog('errorDialog', '결재형식을 선택하세요.', null, 'sanctnFom');
return false;
}*/
/** 결재라인 **/
/*
if(lengthKor('sanctnLine') == 0){
openDialog('errorDialog', '결재라인을 입력하세요.', null, 'sanctnLine');
return false;
}else if(lengthKor('sanctnLine') > 100){
openDialog('errorDialog', '결재라인 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('sanctnLine')+')', null, 'sanctnLine');
return false;
} */
/** 시행문번호 */
if(lengthKor('opertndoorNo') == 0){
openDialog('errorDialog', '시행문번호를 입력하세요.', null, 'opertndoorNo');
return false;
}else if(lengthKor('opertndoorNo') > 50){
openDialog('errorDialog', '시행문번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('opertndoorNo')+')', null, 'opertndoorNo');
return false;
}
/**주소 */
if(lengthKor('adres') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres');
return false;
}else if(lengthKor('adres') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres')+')', null, 'adres');
return false;
}
/** 전화번호 */
if(isEmpty('tlphonNo')){
openDialog('errorDialog', '전화번호를 입력하세요.', null, 'tlphonNo');
return false;
}
/** 안내문 내용 */
/* if (isEmpty('cn')) {
openDialog('errorDialog', '안내문 내용을 입력해 주세요.', null, 'cn');
return false;
} */
openDialog('confirmSaveDialog', '자료를 등록 하시겠습니까?');
}
/* 등록 */
function fnSave(){
fnFormat(true);
$.ajax({
url : '<c:url value="/lm/gm/20/ajaxInsertStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) { openDialog('insertDialog', '자료가 등록 되었습니다.'); }
else { openDialog('errorDialog', '자료등록에 실패하였습니다.'); }
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/** 초기화 */
function fnReset(){
$('#form')[0].reset();
}
/**
* 입력 값 포맷셋팅
*/
function fnFormat(tf){
if(tf){
// 1. 시행일 '-' 제거
removeSpecific('opertnDe');
}else{
dateTransformDash('opertnDe');
}
}
</script>

@ -0,0 +1,217 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm2010InsertVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="wrdofcCode" name="wrdofcCode" value="${garageGdccList.wrdofcCode}"/>
<input type="hidden" id="searchGdccKnd" name="searchGdccKnd" value="${lmGm2010SearchVO.searchGdccKnd}"/>
<input type="hidden" id="searchPstinst" name="searchPstinst" value="${lmGm2010SearchVO.searchPstinst}"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>주차장관리</span><span>안내문관리</span>
</p>
<h2>안내문 수정</h2>
<!-- 주차장 정보 입력 -->
<h3>안내문 정보</h3>
<div class="table01">
<table>
<caption>안내문 정보 수정 테이블</caption>
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>안내문 구분</th>
<td>
<select name="gdccKnd" id="gdccKnd" style="width:20%">
<option value=""> == 선택 ==</option>
<c:forEach items="${parntsCodeList}" var="parntsCodeList" varStatus="status">
<option value="${parntsCodeList.code}" <c:if test="${garageGdccList.gdccKndNm == parntsCodeList.codeNm }">selected="selected"</c:if>>${parntsCodeList.codeNm }</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span></span>결재형식</th>
<td><input type="text" id="sanctnFom" name="sanctnFom" value="${tbms_fn:printDate(garageGdccList.sanctnFom)}" maxlength="100"/></td>
</tr>
<tr>
<th><span></span>결재라인</th>
<td><input type="text" id="sanctnLine" name="sanctnLine" value="${garageGdccList.sanctnLine}" size="20" maxlength="100"/></td>
</tr>
<tr>
<th><span></span>협조자</th>
<td><input type="text" id="spprtr" name="spprtr" size="20" maxlength="50" value="${garageGdccList.spprtr}"/></td>
</tr>
<tr>
<th><span>*</span>시행</th>
<td>
<input type="text" id="opertndoorNo" name="opertndoorNo" value="${garageGdccList.opertndoorNo}" size="20" maxlength="50"/>
<input type="text" class="calendar" id="opertnDe" name="opertnDe" value="${tbms_fn:printDate(garageGdccList.opertnDe)}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled" maxlength="10"/>
</td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td><input type="text" id="adres" name="adres" value="${garageGdccList.adres}" style="width:99%" maxlength="300"/></td>
</tr>
<tr>
<th><span>*</span>전화</th>
<td><input type="text" size="20" id="tlphonNo" value="${garageGdccList.tlphonNo}" name="tlphonNo" maxlength="100"/></td>
</tr>
<tr>
<th><span>*</span>안내문 내용</th>
<td><textarea id="cn" name="cn" rows="20" style="width:100%;">${garageGdccList.cn}</textarea></td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmgm20_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>수정</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
$.unblockUI();
//lmgm20_list();
}
});
initDatePicker('opertnDe');
});
/* 목록으로 이동 */
function lmgm20_list() {
wfwSubmit('form','/lm/gm/20/list.do');
}
/*
* 입력값 검증
*/
function fnValidateValues() {
/** 안내문 내용 */
if (isEmpty('gdccKnd')) {
openDialog('errorDialog', '안내문 구분을 선택하세요.', null, 'gdccKnd');
return false;
}
/** 결재형식 */
/* if (isEmpty('sanctnFom')) {
openDialog('errorDialog', '결재형식을 선택하세요.', null, 'sanctnFom');
return false;
} */
/** 결재라인 */
/* if(lengthKor('sanctnLine') == 0){
openDialog('errorDialog', '결재라인을 입력하세요.', null, 'sanctnLine');
return false;
}else if(lengthKor('sanctnLine') > 100){
openDialog('errorDialog', '결재라인 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('sanctnLine')+')', null, 'sanctnLine');
return false;
} */
/** 시행문번호 */
if(lengthKor('opertndoorNo') == 0){
openDialog('errorDialog', '시행문번호를 입력하세요.', null, 'opertndoorNo');
return false;
}else if(lengthKor('opertndoorNo') > 50){
openDialog('errorDialog', '시행문번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('opertndoorNo')+')', null, 'opertndoorNo');
return false;
}
/**주소 */
if(lengthKor('adres') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres');
return false;
}else if(lengthKor('adres') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres')+')', null, 'adres');
return false;
}
/** 전화번호 */
if( isEmpty('tlphonNo') ){
openDialog('errorDialog', '전화번호를 입력하세요.', null, 'tlphonNo');
return false;
}
/** 안내문 내용 */
/* if (isEmpty('cn')) {
openDialog('errorDialog', '안내문 내용을 입력해 주세요.', null, 'cn');
return false;
} */
openDialog('confirmSaveDialog', '자료를 수정 하시겠습니다까?');
}
/* 등록 */
function fnSave(){
fnFormat(true);
$.ajax({
url : '<c:url value="/lm/gm/20/ajaxUpdtStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료수정에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '자료가 수정 되었습니다.');
} else {
openDialog('errorDialog', '자료수정에 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/** 초기화 */
function fnReset(){
$('#gdccKnd').val("");
$('#sanctnFom').val("");
$('#sanctnLine').val("");
$('#opertndoorNo').val("");
$('#adres').val("");
$('#tlphonNo').val("");
$('#cn').val("");
}
/**
* 입력 값 포맷셋팅
*/
function fnFormat(tf){
if(tf){
// 1. 시행일 '-' 제거
removeSpecific('opertnDe');
}else{
dateTransformDash('opertnDe');
}
}
</script>

@ -0,0 +1,165 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm2010SearchVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="gdccKnd" name="gdccKnd" />
<input type="hidden" id="wrdofcCode" name="wrdofcCode" />
<input type="hidden" id="sanctnFom" name="sanctnFom" />
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>차고지관리</span><span>안내문</span>
</p>
<h2>안내문관리</h2>
<h3>안내문 검색</h3>
<!-- search -->
<div class="table01">
<table>
<caption>안내문 검색</caption>
<colgroup>
<col width="10%" />
<col width="40%" />
<col width="10%" />
<col width="40%" />
</colgroup>
<tbody>
<tr>
<th>안내문 구분</th>
<td>
<select name="searchGdccKnd" id="searchGdccKnd">
<option value=""> == 전체 ==</option>
<c:forEach var="parntsCodeList" items="${parntsCodeList}" varStatus="status">
<option value="${parntsCodeList.code}" <c:if test="${lmGm2010SearchVO.searchGdccKnd == parntsCodeList.code }">selected="selected"</c:if>>${parntsCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
<th>관할관청</th>
<td>
<select id="searchPstinst" name="searchPstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmGm2010SearchVO.searchPstinst}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:goRegistStart();"><strong><span>안내문 등록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1, true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<h3>대상자 목록<span class="explain">[총 건수 : <strong>${lmGm2010SearchVO.totalCount}</strong>건]</span></h3>
<div class="table02">
<table id="list" name="list">
<caption>대상자 목록</caption>
<colgroup>
<col width="25%" />
<col width="15%" />
<col width="10%" />
<col width="50%" />
</colgroup>
<thead>
<tr>
<th>안내문구분</th>
<th>관할구청</th>
<th>결재일자</th>
<th>주소</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty lmgm2010list}">
<c:forEach var="lmgm2010list" items="${lmgm2010list}" varStatus="status">
<tr onclick="javascript:fnView('${lmgm2010list.gdccKnd}','${lmgm2010list.wrdofcCode}', this);" style="cursor:pointer;" >
<td class="textC">${lmgm2010list.gdccKndNm}</td>
<td class="textC">${lmgm2010list.wrdofcCodeNm}</a></td>
<td class="textC">${tbms_fn:printDate(lmgm2010list.sanctnFom)}</td>
<td class="textC">${lmgm2010list.adres}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:choose>
<c:when test="${lmGm2010SearchVO.searchYn == 'Y' }">
<tr><td colspan="5" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:when>
<c:otherwise>
<tr><td colspan="5" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<p class="mt10">목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1, true, true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}" type="tbms" jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
</div>
</form:form>
<script type="text/javascript">
/* 목록 조회 */
function fnSearch(pageNo, button, listChk) {
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
if('${lmgm2010list}' == ''){
return false;
}
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '/lm/gm/20/list.do');
}
/** 상세보기 */
function fnView(gdccKnd, wrdofcCode, obj) {
/*선택로우색변경 */
wfwTrSelected(obj);
$('#gdccKnd').val(gdccKnd);
$('#wrdofcCode').val(wrdofcCode);
wfwSubmit('form', '/lm/gm/20/goDetail.do');
}
/** 안내문등록 */
function goRegistStart() {
wfwSubmit('form', '/lm/gm/20/goRegistStart.do');
}
/*
* 초기화
*/
function fnReset(){
$('#searchGdccKnd').val('');
}
</script>

@ -0,0 +1,88 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm2010SearchVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="gdccKnd" name="gdccKnd" value="${garageGdccList.gdccKnd}"/>
<input type="hidden" id="wrdofcCode" name="wrdofcCode" value="${garageGdccList.wrdofcCode}"/>
<input type="hidden" id="searchGdccKnd" name="searchGdccKnd" value="${lmGm2010SearchVO.searchGdccKnd}"/>
<input type="hidden" id="searchPstinst" name="searchPstinst" value="${lmGm2010SearchVO.searchPstinst}"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>주차장관리</span><span>안내문관리</span>
</p>
<h2>안내문 상세</h2>
<!-- 면허 정보 -->
<h3>안내문 상세</h3>
<div class="table01">
<table>
<caption>면허 정보 테이블</caption>
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody>
<tr>
<th>안내문 구분</th>
<td>${garageGdccList.gdccKndNm}</td>
</tr>
<tr>
<th>결재일자</th>
<td>${tbms_fn:printDate(garageGdccList.sanctnFom)}</td>
</tr>
<tr>
<th>결재라인</th>
<td>${garageGdccList.sanctnLine}</td>
</tr>
<tr>
<th>시행</th>
<td>${garageGdccList.opertndoorNo} / ${tbms_fn:printDate(garageGdccList.opertnDe)}</td>
</tr>
<tr>
<th>협조자</th>
<td>${garageGdccList.spprtr}</td>
</tr>
<tr>
<th>주소</th>
<td>${garageGdccList.adres}</td>
</tr>
<tr>
<th>전화</th>
<td>${garageGdccList.tlphonNo}</td>
</tr>
<tr>
<th>안내문 내용</th>
<td>${garageGdccList.cn}</td>
</tr>
</tbody>
</table>
</div>
<!-- //면허 정보 -->
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmgm10_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:goUpdtStart();"><strong><span>수정</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
$.unblockUI();
});
/** 목록으로 이동 */
function lmgm10_list() {
wfwSubmit('form', '/lm/gm/20/list.do');
}
/** 수정화면으로 이동 */
function goUpdtStart() {
wfwSubmit('form', '/lm/gm/20/goUpdtStart.do');
}
</script>

@ -0,0 +1,232 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm3010VO">
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>주차장관리</span><span>기안문관리</span>
</p>
<h2>기안문 등록</h2>
<!-- 주차장 정보 입력 -->
<h3>기안문 정보</h3>
<div class="table01">
<table>
<caption>기안문 정보 입력 테이블</caption>
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>기안문 구분</th>
<td>
<select name="drftdoorKnd" id="drftdoorKnd" class="med">
<option value=""> == 선택 == </option>
<c:forEach items="${parntsCodeList}" var="codeList" varStatus="status">
<option value="${codeList.code}">${codeList.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>제목</th>
<td><input type="text" id="sj" name="sj" maxlength="50" class="med"/></td>
</tr>
<tr>
<th><span>*</span>결재형식</th>
<td><input type="text" id="sanctnFom" name="sanctnFom" maxlength="100" class="med"/></td>
</tr>
<tr>
<th><span>*</span>결재라인</th>
<td><input type="text" id="sanctnLine" name="sanctnLine" maxlength="100" class="med"/></td>
</tr>
<tr>
<th><span>*</span>협조자</th>
<td><input type="text" id="spprtr" name="spprtr" maxlength="50" /></td>
</tr>
<tr>
<th><span>*</span>시행</th>
<td>
<input type="text" id="opertndoorNo" name="opertndoorNo" maxlength="25"/>
<input type="text" class="calendar" id="opertnDe" name="opertnDe" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled" maxlength="10"/>
</td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td><input type="text" id="adres" name="adres" style="width: 99%" maxlength="150"/></td>
</tr>
<tr>
<th><span>*</span>전화</th>
<td><input type="text" size="20" id="tlphonFaxNo" name="tlphonFaxNo" class="med" maxlength="50"/></td>
</tr>
<tr>
<th><span>*</span>안내문 내용 1</th>
<td><textarea id="cn01" name="cn01" rows="5" class="max" maxlength="4000"></textarea></td>
</tr>
<tr>
<th><span>*</span>안내문 내용 2</th>
<td><textarea id="cn02" name="cn02" rows="5" class="max" maxlength="4000"></textarea></td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnList();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>등록</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
initDatePicker('opertnDe');
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
$.unblockUI();
//fnList();
}
});
});
/* 목록으로 이동 */
function fnList() {
wfwSubmit('form','/lm/gm/30/list.do');
}
/*
* 입력값 검증
*/
function fnValidateValues() {
// 기안문 내용
if (isEmpty('drftdoorKnd')) {
openDialog('errorDialog', "기안문 구분을 <spring:message code='WFCO103'/>", null, 'drftdoorKnd');
return false;
}
// 제목
if (isEmpty('sj')) {
openDialog('errorDialog', "제목을 <spring:message code='WFCO200'/>", null, 'sj');
return false;
}
// 결재형식
if (isEmpty('sanctnFom')) {
openDialog('errorDialog', "결재형식을 <spring:message code='WFCO200'/>", null, 'sanctnFom');
return false;
}
// 결재라인
if(isEmpty('sanctnLine')){
openDialog('errorDialog', "결재라인을 <spring:message code='WFCO200'/>", null, 'sanctnLine');
return false;
}
// 협조자
if(isEmpty('spprtr')){
openDialog('errorDialog', "협조자를 <spring:message code='WFCO200'/>", null, 'spprtr');
return false;
}
// 시행문번호
if(isEmpty('opertndoorNo')){
openDialog('errorDialog', "시행공문번호를 <spring:message code='WFCO200'/>", null, 'opertndoorNo');
return false;
}
if(!checkDate('opertnDe')){
openDialog('errorDialog', "시행공문날짜<spring:message code='WFCO205'/>", null, 'opertnDe');
return false;
}
// 주소
if(isEmpty('adres')){
openDialog('errorDialog', "주소를 <spring:message code='WFCO200'/>", null, 'adres');
return false;
}
// 전화번호
if(isEmpty('tlphonFaxNo')){
openDialog('errorDialog', "전화번호를 <spring:message code='WFCO200'/>", null, 'tlphonFaxNo');
return false;
}
// 기안문 내용
if (isEmpty('cn01')) {
openDialog('errorDialog', "기안문 내용1을 <spring:message code='WFCO200'/>", null, 'cn01');
return false;
}
if (isEmpty('cn02')) {
openDialog('errorDialog', "기안문 내용2를 <spring:message code='WFCO200'/>", null, 'cn02');
return false;
}
openDialog('confirmSaveDialog', "<spring:message code='WFCO000'/>");
}
// 등록
function fnSave(){
fnFormat(true);
$.ajax({
url : '<c:url value="/lm/gm/30/ajaxInsertStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', "<spring:message code='WFCOGL100'/>");
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
if( data.chkCnt == 0 ){
openDialog('insertDialog', "<spring:message code='WFCO003'/>");
} else {
openDialog('errorDialog', "<spring:message code='WFCO105'/>");
}
} else {
openDialog('errorDialog', "<spring:message code='WFCOGL100'/>");
}
},
complete : function (jqXHR, textStatus) {
fnFormat(false);
$.unblockUI();
}
});
}
/**
* 입력 값 포맷셋팅
*/
function fnFormat(tf){
if(tf){
// '-' 제거
removeSpecific('opertnDe');
}else{
dateTransformDash('opertnDe');
}
}
/** 초기화 */
function fnReset(){
$('#form')[0].reset();
}
</script>

@ -0,0 +1,235 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm3010SearchVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<form:hidden id="searchDrftdoorKnd" path="searchDrftdoorKnd" />
<form:hidden id="resultWrdofcCode" path="resultWrdofcCode" />
<form:hidden id="resultDrftdoorKnd" path="resultDrftdoorKnd" />
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>주차장관리</span><span>기안문관리</span>
</p>
<h2>기안문 수정</h2>
<!-- 주차장 정보 입력 -->
<h3>기안문 정보</h3>
<div class="table01">
<table>
<caption>기안문 정보 입력 테이블</caption>
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody>
<tr>
<th>기안문 구분</th>
<input type="hidden" id="drftdoorKnd" name="drftdoorKnd" value="${emInfo.drftdoorKnd}" />
<td>${emInfo.drftdoorKndNm}</td>
</tr>
<tr>
<th><span>*</span>제목</th>
<td><input type="text" id="sj" name="sj" value="${emInfo.sj}" maxlength="50" class="med"/></td>
</tr>
<tr>
<th><span>*</span>결재형식</th>
<td><input type="text" id="sanctnFom" name="sanctnFom" value="${emInfo.sanctnFom}" maxlength="100" class="med"/></td>
</tr>
<tr>
<th><span>*</span>결재라인</th>
<td><input type="text" id="sanctnLine" name="sanctnLine" value="${emInfo.sanctnLine}" maxlength="100" class="med"/></td>
</tr>
<tr>
<th><span>*</span>협조자</th>
<td><input type="text" id="spprtr" name="spprtr" value="${emInfo.spprtr}" maxlength="50" /></td>
</tr>
<tr>
<th><span>*</span>시행</th>
<td>
<input type="text" id="opertndoorNo" name="opertndoorNo" value="${emInfo.opertndoorNo}" maxlength="25"/>
<input type="text" class="calendar" id="opertnDe" name="opertnDe" value="${tbms_fn:printDate(emInfo.opertnDe)}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled" maxlength="10"/>
</td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td><input type="text" id="adres" name="adres" value="${emInfo.adres}" style="width: 99%" maxlength="150"/></td>
</tr>
<tr>
<th><span>*</span>전화</th>
<td><input type="text" size="20" id="tlphonFaxNo" name="tlphonFaxNo" value="${emInfo.tlphonFaxNo}" class="med" maxlength="50"/></td>
</tr>
<tr>
<th><span>*</span>안내문 내용 1</th>
<td><textarea id="cn01" name="cn01" rows="5" class="max" maxlength="4000">${emInfo.cn01}</textarea></td>
</tr>
<tr>
<th><span>*</span>안내문 내용 2</th>
<td><textarea id="cn02" name="cn02" rows="5" class="max" maxlength="4000">${emInfo.cn02}</textarea></td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnList();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>수정</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
initDatePicker('opertnDe');
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'updateDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
$.unblockUI();
fngoDetail();
}
});
});
/* 목록으로 이동 */
function fnList() {
wfwSubmit('form','/lm/gm/30/list.do');
}
/* 상세로 이동 */
function fngoDetail() {
wfwSubmit('form','/lm/gm/30/goDetail.do');
}
/*
* 입력값 검증
*/
function fnValidateValues() {
// 제목
if (isEmpty('sj')) {
openDialog('errorDialog', "제목을 <spring:message code='WFCO200'/>", null, 'sj');
return false;
}
// 결재형식
if (isEmpty('sanctnFom')) {
openDialog('errorDialog', "결재형식을 <spring:message code='WFCO200'/>", null, 'sanctnFom');
return false;
}
// 결재라인
if(isEmpty('sanctnLine')){
openDialog('errorDialog', "결재라인을 <spring:message code='WFCO200'/>", null, 'sanctnLine');
return false;
}
// 협조자
if(isEmpty('spprtr')){
openDialog('errorDialog', "협조자를 <spring:message code='WFCO200'/>", null, 'spprtr');
return false;
}
// 시행문번호
if(isEmpty('opertndoorNo')){
openDialog('errorDialog', "시행공문번호를 <spring:message code='WFCO200'/>", null, 'opertndoorNo');
return false;
}
if(!checkDate('opertnDe')){
openDialog('errorDialog', "시행공문날짜<spring:message code='WFCO205'/>", null, 'opertnDe');
return false;
}
// 주소
if(isEmpty('adres')){
openDialog('errorDialog', "주소를 <spring:message code='WFCO200'/>", null, 'adres');
return false;
}
// 전화번호
if(isEmpty('tlphonFaxNo')){
openDialog('errorDialog', "전화번호를 <spring:message code='WFCO200'/>", null, 'tlphonFaxNo');
return false;
}
// 기안문 내용
if (isEmpty('cn01')) {
openDialog('errorDialog', "기안문 내용1을 <spring:message code='WFCO200'/>", null, 'cn01');
return false;
}
if (isEmpty('cn02')) {
openDialog('errorDialog', "기안문 내용2를 <spring:message code='WFCO200'/>", null, 'cn02');
return false;
}
openDialog('confirmSaveDialog', "<spring:message code='WFCO000'/>");
}
// 수정
function fnSave(){
fnFormat(true);
$.ajax({
url : '<c:url value="/lm/gm/30/ajaxUpdtStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', "<spring:message code='WFCOGL100'/>");
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('updateDialog', "<spring:message code='WFCO003'/>");
} else {
openDialog('errorDialog', "<spring:message code='WFCOGL100'/>");
}
},
complete : function (jqXHR, textStatus) {
fnFormat(false);
$.unblockUI();
}
});
}
/**
* 입력 값 포맷셋팅
*/
function fnFormat(tf){
if(tf){
// '-' 제거
removeSpecific('opertnDe');
}else{
dateTransformDash('opertnDe');
}
}
/** 초기화 */
function fnReset(){
$('#sj').val('');
$('#sanctnFom').val('');
$('#sanctnLine').val('');
$('#spprtr').val('');
$('#opertndoorNo').val('');
$('#opertnDe').val('');
$('#adres').val('');
$('#tlphonFaxNo').val('');
$('#cn01').val('');
$('#cn02').val('');
}
</script>

@ -0,0 +1,153 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm3010SearchVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<form:hidden id="resultWrdofcCode" path="resultWrdofcCode" />
<form:hidden id="resultDrftdoorKnd" path="resultDrftdoorKnd" />
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>차고지관리</span><span>기안문관리</span>
</p>
<h2>기안문관리</h2>
<h3>기안문 검색</h3>
<!-- search -->
<div class="table01">
<table>
<caption>기안문 검색</caption>
<colgroup>
<col width="10%" />
<col width="40%" />
</colgroup>
<tbody>
<tr>
<th>기안문 구분</th>
<td>
<select name="searchDrftdoorKnd" id="searchDrftdoorKnd">
<option value=""> == 전체 ==</option>
<c:forEach var="codeList" items="${parntsCodeList}" varStatus="status">
<option value="${codeList.code}" <c:if test="${codeList.code == lmGm3010SearchVO.searchDrftdoorKnd }">selected="selected"</c:if>>${codeList.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:goRegistStart();"><strong><span>기안문 등록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1, true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<h3>기안문 목록<span class="explain">[총 건수 : <strong>${lmGm3010SearchVO.totalCount}</strong>건]</span></h3>
<div class="table02">
<table id="list" name="list">
<caption>기안문 목록</caption>
<colgroup>
<col width="15%" />
<col width="10%" />
<col width="30%" />
<col width="45%" />
</colgroup>
<thead>
<tr>
<th>기안문구분</th>
<th>관할구청</th>
<th>제목</th>
<th>주소</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty list}">
<c:forEach var="row" items="${list}" varStatus="status">
<tr onclick="javascript:fnView('${row.wrdofcCode}','${row.drftdoorKnd}', this);" style="cursor:pointer;" >
<td class="textL">${row.drftdoorKndNm}</td>
<td class="textL">${row.wrdofcCodeNm}</a></td>
<td class="textL">${row.sj}</td>
<td class="textL">${row.adres}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:choose>
<c:when test="${lmGm3010SearchVO.searchYn == 'Y' }">
<tr><td colspan="4" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:when>
<c:otherwise>
<tr><td colspan="4" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<p class="mt10">목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1, true, true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}" type="tbms" jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
</div>
</form:form>
<script type="text/javascript">
/* 목록 조회 */
function fnSearch(pageNo, button, listChk) {
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
if('${list}' == ''){
return false;
}
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '/lm/gm/30/list.do');
}
/** 상세보기 */
function fnView(wrdofcCode, drftdoorKnd, obj) {
/*선택로우색변경 */
wfwTrSelected(obj);
$('#resultWrdofcCode').val(wrdofcCode);
$('#resultDrftdoorKnd').val(drftdoorKnd);
wfwSubmit('form', '/lm/gm/30/goDetail.do');
}
/** 기안문등록폼 */
function goRegistStart() {
wfwSubmit('form', '/lm/gm/30/goInputForm.do');
}
/*
* 초기화
*/
function fnReset(){
$('#drftdoorKnd').val('');
}
</script>

@ -0,0 +1,147 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmGm3010SearchVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<form:hidden id="searchDrftdoorKnd" path="searchDrftdoorKnd" />
<form:hidden id="resultWrdofcCode" path="resultWrdofcCode" />
<form:hidden id="resultDrftdoorKnd" path="resultDrftdoorKnd" />
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>차고지관리</span><span>기안문관리</span>
</p>
<h2>기안문 상세</h2>
<!-- 면허 정보 -->
<h3>기안문 상세</h3>
<div class="table01">
<table>
<caption>기안문 정보 테이블</caption>
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody>
<tr>
<th>기안문 구분</th>
<td>${emInfo.drftdoorKndNm}</td>
</tr>
<tr>
<th>제목</th>
<td>${emInfo.sj}</td>
</tr>
<tr>
<th>결재형식</th>
<td>${emInfo.sanctnFom}</td>
</tr>
<tr>
<th>결재라인</th>
<td>${emInfo.sanctnLine}</td>
</tr>
<tr>
<th>협조자</th>
<td>${emInfo.spprtr}</td>
</tr>
<tr>
<th>시행</th>
<td>${emInfo.opertndoorNo} &nbsp; ${emInfo.opertnDe}</td>
</tr>
<tr>
<th>주소</th>
<td>${emInfo.adres}</td>
</tr>
<tr>
<th>전화</th>
<td>${emInfo.tlphonFaxNo}</td>
</tr>
<tr>
<th>안내문 내용 1</th>
<td>${emInfo.cn01}</td>
</tr>
<tr>
<th>안내문 내용 2</th>
<td>${emInfo.cn02}</td>
</tr>
<tr>
<th>출력</th>
<td>
<div class="btn ar">
<p class="fl">
<select id="adresSe" name="adresSe">
<option value="1" >현거주지 주소</option>
<option value="2" >사용본거지 주소</option>
</select>
<a href="#" class="btn-w" onclick="javascript:fnReport();"><strong><span>기안문출력</span></strong></a>
</p>
확인기간(등록일자)
<input type="text" id="registStartDe" name="registStartDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" maxlength="10" style="ime-mode:disabled"/>~
<input type="text" id="registEndDe" name="registEndDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" maxlength="10" style="ime-mode:disabled"/>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //면허 정보 -->
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnList();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:goUpdtForm();"><strong><span>수정</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
initDatePicker('registStartDe');
initDatePicker('registEndDe');
});
/** 목록으로 이동 */
function fnList() {
wfwSubmit('form', '/lm/gm/30/list.do');
}
/** 수정화면으로 이동 */
function goUpdtForm() {
wfwSubmit('form', '/lm/gm/30/goUpdateForm.do');
}
/*
* 기안문 출력
*/
function fnReport(){
// alert("준비중...");
var drftdoorKnd = "${emInfo.drftdoorKnd}"; // 기안문종류
var wrdofcCode = "${emInfo.wrdofcCode}"; // 구청코드
var registStartDe = $('#registStartDe').val(); // 확인 시작일
var registEndDe = $('#registEndDe').val(); // 확인 종료일
var adresSe = $('#adresSe').val(); // 컬럼 추가되면 추가
if(registStartDe != "" && registEndDe != "" ){
registStartDe = registStartDe.replace(/[\-\.\,\:]/gi, ''); // - 제거
registEndDe = registEndDe.replace(/[\-\.\,\:]/gi, ''); // - 제거
//alert(wrdofcCode + " : " + drftdoorKnd + " : " + wrdofcCode + " : " + registStartDe + " : " + registEndDe + " : " + adresSe);
var fileNm = 'LMGM30_RPT';
$('#reportForm').attr('action', '<c:url value="/ubi4/ubihtml.jsp"/>');
$('#reportForm input[name=file]').val(fileNm);
$('#reportForm input[name=arg]').val('DRFTDOOR_KND#' + drftdoorKnd + '#WRDOFC_CODE#' + wrdofcCode + '#REGIST_START_DE#' + registStartDe + '#REGIST_END_DE#' + registEndDe + '#ADRES_SE#' + adresSe);
$('#reportForm').attr('target', 'rptDiv');
$('#reportForm').submit();
}else{
openDialog('errorDialog', "기안문 출력을 위한 확인기간을 입력해 주세요.", null, 'registStartDe');
}
}
</script>

@ -0,0 +1,420 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<script type="text/javascript" src="<c:url value="/js/jquery.fileDownload.js"/>"></script>
<form:form id="form" name="form" commandName="lmGm4010SearchVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="gdccKnd" name="gdccKnd"/>
<input type="hidden" id="downloadResn" name="downloadResn" /> <!-- 엑셀 다운로드 사유를 입력받고 내용을 서버로 전송할 때 사용함 -->
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>차고지관리</span><span>차고지현황</span>
</p>
<h2>차고지 현황</h2>
<!-- search -->
<h3>대상 검색</h3>
<div class="table01">
<table>
<caption>대상 검색</caption>
<colgroup>
<col width="10%" />
<col width="20%" />
<col width="10%" />
<col width="20%" />
<col width="10%" />
<col width="20%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>검색구분</th>
<td>
<select id="searchGubun" name="searchGubun">
<option value="1" <c:if test="${lmGm4010SearchVO.searchGubun == 1}">selected="selected"</c:if>>인가기간 만료대상자</option>
<option value="2" <c:if test="${lmGm4010SearchVO.searchGubun == 2}">selected="selected"</c:if>>차고지 미확보자(차고지 미등록 포함)</option>
</select>
</td>
<th>기준일</th>
<td>
<input type="text" id="cnfmEndDe" name="cnfmEndDe" class="calendar" value="${cnfmEndDe}"onKeyPress="return wfwDateDashFormat(this)" maxlength="10" style="ime-mode:disabled"/>
</td>
<th><span>*</span>업종</th>
<td>
<select id="indutyCode" name="indutyCode">
<c:forEach var="row" items="${indutyCodeList }">
<option value="${row.indutyCode}" <c:if test="${row.indutyCode == lmGm4010SearchVO.indutyCode }">selected="selected"</c:if>>${row.indutyNm }</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>관할관청</th>
<td>
<select id="cmptncGrc" name="cmptncGrc">
<!-- <option value=""> == 전체 == </option> -->
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmGm4010SearchVO.cmptncGrc}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
<th><span>*</span>주소구분</th>
<td colspan="3">
<select id="adresSe" name="adresSe">
<option value="1" <c:if test="${lmGm4010SearchVO.adresSe == '1'}">selected="selected"</c:if>>현거주지 주소</option>
<option value="2" <c:if test="${lmGm4010SearchVO.adresSe == '2'}">selected="selected"</c:if>>사용본거지 주소</option>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnReport(1);"><strong><span>안내문출력</span></strong></a>
<span style="color:red;font-weight:bold;background-image:none;">*개별화물의 경우 차량톤수 1.5톤 이하/차량대수 1대인경우 차고지 면제대상임.*</span>
<!-- <a href="#" class="btn-w" onclick="javascript:fnReport(1);"><strong><span>월별기간만료 출력</span></strong></a> -->
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1, true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReSet();"><strong><span>초기화</span></strong></a>
</p>
</div>
<!-- //search -->
</div>
<div class="combine">
<!-- 결과값 -->
<h3 class="fl">대상자 목록 <span class="explain">[총 건수 : <strong>${lmGm4010SearchVO.totalCount}</strong>건]</span></h3>
<%-- <p class="mb10 fr"><a href="#" onclick="javascript:fnExcel();"><img src="<c:url value="/images/sub/btn-excel.gif"/>" alt="엑셀저장" /></a></p> --%>
<p class="mb10 fr"><a href="#" onclick="javascript:fnOpenExcelDownloadReasonPop();"><img src="<c:url value="/images/sub/btn-excel.gif"/>" alt="엑셀저장" /></a></p>
<div class="table02">
<table>
<caption>면허목록</caption>
<colgroup>
<col width="12%" />
<col width="12%" />
<col width="12%" />
<col width="23%" />
<col width="10%" />
<col width="10%" />
<col width="11%" />
<col width="10%" />
</colgroup>
<thead>
<tr>
<!-- <th>선택</th> -->
<th>업체명/소유자명</th>
<th>면허번호/차량번호</th>
<th>차고지명</th>
<th>차고지주소</th>
<th>차고지유형</th>
<th>등록일</th>
<th>인가기간</th>
<th>관할관청</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty lmgm4010list}">
<c:set var="rowNo" value="${paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage)}"/>
<c:forEach var="row" items="${lmgm4010list }" varStatus="status">
<tr>
<%-- <td class="textC"><input type="checkbox" class="check" name="lcnsNolist" value="${row.lcnsNo }" /></td> --%>
<c:choose>
<c:when test="${lmGm4010SearchVO.indutyCode == '511' }">
<td class="textC" >${row.ownerNm}</td>
<td class="textC" >${row.vhcleNo}</td>
</c:when>
<c:when test="${lmGm4010SearchVO.indutyCode == '211' }">
<td class="textC" >${row.entrpsNm}</td>
<td class="textC" >${row.realLcnsNo}<br>/${row.vhcleNo}</td>
</c:when>
<c:when test="${lmGm4010SearchVO.indutyCode == '221' }">
<td class="textC" >${row.entrpsNm}</td>
<td class="textC" >${row.realLcnsNo}<br>/${row.vhcleNo}</td>
</c:when>
<c:when test="${lmGm4010SearchVO.indutyCode == '231' }">
<td class="textC" >${row.entrpsNm}</td>
<td class="textC" >${row.realLcnsNo}<br>/${row.vhcleNo}</td>
</c:when>
<c:otherwise>
<td class="textC" >${row.entrpsNm}</td>
<td class="textC" >${row.realLcnsNo}</td>
</c:otherwise>
</c:choose>
<td class="textC" >${row.garageNm}</td>
<td class="textL"><c:if test="${row.postNo != null}"> ( ${tbms_fn:printPostNo(row.postNo)} )</c:if>
<c:choose>
<c:when test="${fn:length(row.adres) > 28}">
<c:out value="${fn:substring(row.adres,0 ,26)}"/>...</c:when>
<c:otherwise>
<c:out value="${row.adres}"/>
</c:otherwise>
</c:choose>
</td>
<td class="textC" >${row.garageCl}</td>
<td class="textC" >${tbms_fn:printDate(row.garageRegistDe)}</td>
<td class="textC" >${tbms_fn:printDate(row.cnfmBeginDe)} ~ ${tbms_fn:printDate(row.cnfmEndDe) }</td>
<td class="textC" >${row.cmptncGrcNm}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:if test="${searchYn == 'Y'}">
<tr><td colspan="9" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:if>
<c:if test="${searchYn != 'Y'}">
<tr><td colspan="9" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:if>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<p class="mt10">
목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1,true,true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}"
type="tbms"
jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
<!-- //결과값 -->
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
initDatePicker('cnfmEndDe');
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
if('${searchYn}' != 'Y'){
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
if(month < 10) month = "0" + month;
if(day < 10) day = "0" + day;
var toady = year + "-" + month + "-" + day;
$('#cnfmEndDe').val(toady);
}
initIndutyCode();
});
/*
* 검색
*/
function fnSearch(pageNo, button, listChk) {
var searchGubun = $('#searchGubun').val();
var searchIndutyCode = $('#indutyCode').val(); //업종 코드
var gdccKnd = ''; //안내문 종류 코드
var cnfmEndDe = $('#cnfmEndDe').val(); //기준일
var validChk = 'true'; //유효성 체크값
if(nullCheck(cnfmEndDe)){
var cnfmEndDeLength = cnfmEndDe.length;
if(searchGubun == '2' && cnfmEndDeLength < 8){
openDialog('errorDialog', "검색구분이 (차고지 미확보자) 조건인 경우 기준일을 선택해야 합니다. ex)2014-06-13", 'cnfnEndDe');
validChk = 'false';
}else{
removeSpecific('cnfmEndDe');
gdccKnd = generateCode(searchGubun, searchIndutyCode); //안내문 코드 생성
$('#gdccKnd').val(gdccKnd);
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
var list = '${lmgm4010list}';
if(list == '[]'){
return false;
}
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
}
if(validChk == 'true'){
openProgressBar(); //프로그레스바 노출
wfwSubmit('form','/lm/gm/40/list.do');
}
}
}
/*
* 엑셀 저장
*/
function fnExcel(){
var list = '${lmgm4010list}';
var cnfmEndDe = $('#cnfmEndDe').val(); //기준일
removeSpecific('cnfmEndDe'); //기준일 특수문자제거
if(list == '[]'){
openDialog('infoDialog', "<spring:message code='WFCO100'/>");
return false;
}
//wfwSubmit('form','/lm/gm/40/excel.do');
/** 엑셀다운로드 시작 **/
openProgressBar(); //프로그레스바 노출
$.fileDownload('<c:url value="/lm/gm/40/excel.do"/>',{data:jQuery("#form").serialize()})
.done(function(){
closeProgressBar();
alert("엑셀 다운로드가 완료되었습니다.");
})
.fail(function(){
closeProgressBar();
alert("엑셀 다운로드시 오류가 발생하였습니다.");
});
/** 끝 **/
}
/**
* 초기화
*/
function fnReSet() {
$('#cmptncGrc').val(''); //관할관청
$('#indutyCode').val('111'); //업종
$('#searchGubun').val('1'); //검색구분
$('#adresSe').val('1'); //주소구분
$('#cnfmEndDe').val(''); //기준일
}
/**
* 안내문 출력
*/
function fnReport(){
var fileNm = '';
var gdccKnd = '${lmGm4010SearchVO.gdccKnd}'; //안내문 코드
var wrdofcCode = '${lmGm4010SearchVO.cmptncGrc}'; //기관코드
var indutyCode = '${lmGm4010SearchVO.indutyCode}'; //업종코드
var adresSe = '${lmGm4010SearchVO.adresSe}'; // 주소구분
var cnfmEndDe = '${cnfmEndDe}'; // 기준월 or 기준일
var searchGubun = '${lmGm4010SearchVO.searchGubun}'; //1:인가기간 만료대상자, 2:차고지 미확보자(차고지 미등록 포함)
if(indutyCode == '511'){ //업종이 자가용화물일때
fileNm = 'LMGM40P_RPT';
}else if(wrdofcCode == "3220000"){
fileNm = 'LMGM40_MOD_RPT';
}else{ //자가용화물 제외한 모든업종
//fileNm = 'LMGM40_RPT'; //기존
if(searchGubun == '1'){
if(indutyCode == '121' || indutyCode == '131' || indutyCode == '132' || indutyCode == '133' || indutyCode == '134' || indutyCode == '222' || indutyCode == '232' || indutyCode == '241'){
fileNm = 'LMGM40_RPT'; //법인업종의 경우 사업자뷰로 조회되어야함.
}else{
fileNm = 'LMGM40_NEW_RPT'; //개인업종의 경우 차량뷰에서 조회되어야함,개별화물 차고지 설치기준 면제 제외 조건 추가
}
}if(searchGubun == '2'){
if(indutyCode == '121' || indutyCode == '131' || indutyCode == '132' || indutyCode == '133' || indutyCode == '134' || indutyCode == '222' || indutyCode == '232' || indutyCode == '241'){
fileNm = 'LMGM40_RPT'; //법인업종의 경우 사업자뷰로 조회되어야함.
}else{
fileNm = 'LMGM40_EMPTY_RPT'; //개별화물 차고지 설치기준 면제 제외 조건 추가
}
}
}
cnfmEndDe = cnfmEndDe.replace(/[\-\.\,\:]/gi, '');
// alert("GDCC_KND#:"+gdccKnd+"#WRDOFC_CODE#"+wrdofcCode+"#CNFM_END_DE#"+cnfmEndDe+'#INDUTY_CODE#' + indutyCode+'#ADRES_SE#'+adresSe);
$('#reportForm').attr('action', '<c:url value="/ubi4/ubihtml.jsp"/>');
$('#reportForm input[name=file]').val(fileNm);
if(indutyCode == '511'){ //업종이 자가용화물일때
$('#reportForm input[name=arg]').val('GDCC_KND#' + gdccKnd + '#WRDOFC_CODE#' + wrdofcCode +'#CNFM_END_DE#'+ cnfmEndDe);
}else{ //자가용화물 제외한 모든업종
$('#reportForm input[name=arg]').val('GDCC_KND#' + gdccKnd + '#WRDOFC_CODE#' + wrdofcCode +'#CNFM_END_DE#'+ cnfmEndDe +'#INDUTY_CODE#' + indutyCode+'#ADRES_SE#'+adresSe);
}
$('#reportForm').attr('target', 'rptDiv');
$('#reportForm').submit();
}
/**
* 안내문 종류 코드값(GDCC_KND) 생성
* - searchGubun(1:인가기간 만료대상자, 2: 차고지 미확보자), indutyCode(111 : 개인택시, 211 : 개인(개별)화물, 221 : 개인(용달)화물, 232 : 일반화물, 141:자동차대여업, 511:자가용자동차)
*/
function generateCode(searchGubun, indutyCode){
var gdccKndCode = ''; //안내문 종류 코드
if(searchGubun == '1' && indutyCode == '111' || searchGubun == '1' && indutyCode == '141'){
gdccKndCode = '01'; //여객 자동차 운송사업 - 인가기간 만료
}else if(searchGubun == '2' && indutyCode == '111' || searchGubun == '2' && indutyCode == '141'){
gdccKndCode = '03'; //여객 자동차 운송사업 - 차고지 미확보
}else if(searchGubun == '1' && indutyCode == '211' || searchGubun == '1' && indutyCode == '511'){
gdccKndCode = '02'; //화물자동차 운송사업 - 인가기간 만료
}else if(searchGubun == '2' && indutyCode == '211' || searchGubun == '2' && indutyCode == '511'){
gdccKndCode = '04'; //화물자동차 운송사업 - 차고지 미확보
}else if(searchGubun == '1' && indutyCode == '221' || searchGubun == '1' && indutyCode == '222'){
gdccKndCode = '02'; //화물자동차 운송사업 - 인가기간 만료
}else if(searchGubun == '2' && indutyCode == '221' || searchGubun == '2' && indutyCode == '222'){
gdccKndCode = '04'; //화물자동차 운송사업 - 차고지 미확보
}else if(searchGubun == '1' && indutyCode == '231' || searchGubun == '1' && indutyCode == '232'){
gdccKndCode = '02'; //화물자동차 운송사업 - 인가기간 만료
}else if(searchGubun == '2' && indutyCode == '231' || searchGubun == '2' && indutyCode == '232'){
gdccKndCode = '04'; //화물자동차 운송사업 - 차고지 미확보
}
return gdccKndCode;
}
function nullCheck(checkValue){
if(checkValue == "" || checkValue == null){
openDialog('errorDialog', "기준일을 입력하십시오.", 'cnfmEndDe');
return false;
}
return true;
}
/*
* 초기 업종코드명(차고지 설치 면제대상인 개인택시 업종 제외)
*/
function initIndutyCode(){
$("#indutyCode").find("option").each(function(){
if(this.value == "111" || this.value == "112" ){
$(this).remove();
}
});
}
</script>

@ -0,0 +1,435 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa0010InsertVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="lcnsNo" name="lcnsNo" value="${lcnsDetail.lcnsNo}" />
<input type="hidden" id="bsnmManageId" name="bsnmManageId" value="${lcnsDetail.bsnmManageId}" />
<input type="hidden" id="searchIndutyCode" name="searchIndutyCode" value="${lmLa0010InsertVO.searchIndutyCode}" />
<input type="hidden" id="arrayVhcleManageId" name="arrayVhcleManageId" />
<input type="hidden" id="realLcnsNo" name="realLcnsNo" value="${lmLa0010SearchVO.realLcnsNo}" />
<input type="hidden" id="searchLcnsNo" name="searchLcnsNo" value="${lmLa0010SearchVO.searchLcnsNo}" />
<input type="hidden" id="today" name="today" />
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>적재물보상보험신고자료관리</span>
</p>
<h2>적재물 보상보험신고자료대상 등록</h2>
<!-- 차량검색 -->
<h3>면허정보</h3>
<div class="table01">
<table>
<caption>업체정보 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th>관리번호</th>
<td>${lcnsDetail.lcnsNo}</td>
<th>면허번호</th>
<td>${lcnsDetail.realLcnsNo}</td>
</tr>
<tr>
<th>사업자명</th>
<td>${lcnsDetail.rprsntvNm}</td>
<th>법인등록번호</th>
<td>${tbms_fn:printIhidnum2(lcnsDetail.cprInhbtntRegistNo)}</td>
</tr>
<tr>
<th>최초면허일자</th>
<td>${tbms_fn:printDate(lcnsDetail.lcnsPrmisnDe)}</td>
<th>자본금</th>
<td>${tbms_fn:maskNumber(lcnsDetail.caplAmount,3)}</td>
</tr>
<tr>
<th>양도양수일자</th>
<td>${tbms_fn:printDate(lcnsDetail.trnsfrWpDe)}</td>
<th>예비차량</th>
<td>${tbms_fn:maskNumber(lcnsDetail.preparVhcle, 3)}</td>
</tr>
<tr>
<th>주소</th>
<td colspan="3">${lcnsDetail.useStrnghldPostNo} ${lcnsDetail.useStrnghldAdres}</td>
</tr>
</tbody>
</table>
</div>
<!-- //업체정보 -->
</div>
<div class="combine">
<div class="data-transform-free">
<div class="left-area">
<h3>적재물 보상보험신고대상 목록</h3>
<div class="table02 scroll-y" style="height:145px;">
<table>
<caption>적재물 보상보험신고대상 목록</caption>
<colgroup>
<col width="12%" />
<col width="18%" />
<col width="18%" />
<col width="16%" />
<col width="18%" />
<col width="18%" />
</colgroup>
<thead>
<tr>
<th>선택</th>
<th>소유자</th>
<th>차량번호</th>
<th>구분</th>
<th>차종구분</th>
<th>등록일</th>
</tr>
</thead>
<tbody id="vhcle1"></tbody>
</table>
</div>
</div>
<div class="center-area" style="padding-top:75px;"> <a href="#" class="transform-right mb10" onclick="javascript:addVhcleList()">추가</a>
</div>
<div class="right-area">
<h3>적재물 보상보험신고처리 목록</h3>
<div class="table02 scroll-y" style="height:145px;">
<table>
<caption>적재물 보상보험신고처리 목록</caption>
<colgroup>
<col width="12%" />
<col width="21%" />
<col width="27%" />
<col width="20%" />
<col width="20%" />
</colgroup>
<thead>
<tr>
<th>선택</th>
<th>소유자</th>
<th>차량번호</th>
<th>구분</th>
<th>등록일</th>
</tr>
</thead>
<tbody id="vhcle2"></tbody>
</table>
</div>
</div>
</div>
<div class="table01 mt20">
<table>
<caption>적재물 보상보험신고 대상/처리 목록 테이블</caption>
<colgroup>
<col width="12%" />
<col width="38%" />
<col width="12%" />
<col width="40%" />
</colgroup>
<tbody>
<tr>
<th>신고일자</th>
<td><input type="text" name="sttemntDe" id="sttemntDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
<th>가입유효기간</th>
<td><input type="text" id="sbscrbValidBeginDe" name="sbscrbValidBeginDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/> ~ <input type="text" id="sbscrbValidEndDe" name="sbscrbValidEndDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea class="max" id="rm" name="rm"></textarea></td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmla00_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" onclick = "javascript:fnValidateValues();" class="btn-w"><strong><span>등록</span></strong></a>
<a href="#" onclick = "javascript:fnReset();" class="btn-w"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco08.js"/>"></script>
<div id="smco08_pop" class="mw_layer"></div>
<script type="text/javascript">
var todayDate = getTodayDate();
var todayDate = todayDate.substring(0,4)+'-'+todayDate.substring(4,6)+'-'+todayDate.substring(6,8);
$(document).ready(function () {
selectVhcleList();
$('#sttemntDe').val(todayDate);
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
wfwSubmit('form','/lm/la/00/goRegistStart.do');
}
});
initDatePicker('sttemntDe');
initDatePicker('sbscrbValidBeginDe');
initDatePicker('sbscrbValidEndDe');
});
/** 적재물 신고대상 목록 */
var vhcleList1 = new Array();
/** 적재물 신고처리 목록 */
var vhcleList2 = new Array();
/** 선택된 차량관리번호 */
var i = 0;
/** 로딩시 적재물 신고대상 목록 조회 */
function selectVhcleList(){
$.ajax({
url : '<c:url value="/lm/la/00/ajaxSelectVhcleList.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '적재물 보상보험신고대상목록조회에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data) {
$(data.vhcleList).each(function(idx, row){
vhcleList1[row.vhcleManageId] = data.vhcleList[idx];
vhcleList1[row.vhcleManageId]['checkYn'] = false;
});
$(data.vhcleList2).each(function(idx, row){
vhcleList2[row.vhcleManageId] = data.vhcleList2[idx];
vhcleList2[row.vhcleManageId]['checkYn'] = false;
vhcleList2[row.vhcleManageId]['readonly'] = true;
});
for(key in vhcleList1){
var tr = "<tr><td><input type = 'checkbox' id='dnwls830' name ='dnwls830' value='"+vhcleList1[key].vhcleManageId+"' onclick='javascript:addRowIndex("+vhcleList1[key].vhcleManageId+");'/></td>"
+ "<td>"+vhcleList1[key].rprsntvNm+"</td>"
+ "<td>"+vhcleList1[key].vhcleNo+"</td>"
+ "<td>"+vhcleList1[key].vhcleSe+"</td>"
+ "<td>"+vhcleList1[key].vhctyAsortNm+"</td>"
+ "<td>"+vhcleList1[key].vhcleRegistDe+"</td></tr>";
$('#vhcle1').append(tr);
}
$('tr', vhcle2).remove();
for(key in vhcleList2){
var tr = "<tr><td><input type = 'checkbox' id='dnwls832' name ='dnwls832' disabled='disabled' checked='checked'/></td>"
+ "<td>"+vhcleList2[key].rprsntvNm+"</td>"
+ "<td>"+vhcleList2[key].vhcleNo+"</td>"
+ "<td>"+vhcleList2[key].vhcleSe+"</td>"
+ "<td>"+vhcleList2[key].vhcleRegistDe+"</td></tr>";
$('#vhcle2').append(tr);
}
}else{
openDialog('errorDialog', '적재물 보상보험신고대상목록이 존재하지 않습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/** 적재물 보상보험신고처리 목록 추가 */
function addVhcleList(){
if ($('#vhcle1 tr').length == 0 || $('input[type=checkbox][name=dnwls830]:checked').length == 0) {
openDialog('errorDialog', '적재물 보상보험신고대상을 선택하세요.', null, 'checkRow');
return false;
}
var arraySelectedRow = $('input[type=checkbox][name=dnwls830]');
for (var idx = 0; idx < arraySelectedRow.length; idx++) {
var row = arraySelectedRow[idx];
if ($(row).is(':checked')) {
vhcleList1[row.value].checkYn = true;
}
}
addVhcleList1();
addVhcleList2();
}
/** 적재물 보상보험신고대상목록 그리기 */
function addVhcleList1() {
var vhcle1 = $('#vhcle1');
$('tr', vhcle1).remove();
for(key in vhcleList1){
if(vhcleList1[key].checkYn == false){
var tr = "<tr><td><input type = 'checkbox' id='dnwls830' name ='dnwls830' value='"+vhcleList1[key].vhcleManageId+"' onclick='javascript:addRowIndex("+vhcleList1[key].vhcleManageId+");'/></td>"
+ "<td>"+vhcleList1[key].rprsntvNm+"</td>"
+ "<td>"+vhcleList1[key].vhcleNo+"</td>"
+ "<td>"+vhcleList1[key].vhcleSe+"</td>"
+ "<td>"+vhcleList1[key].vhctyAsortNm+"</td>"
+ "<td>"+vhcleList1[key].vhcleRegistDe+"</td></tr>";
$('#vhcle1').append(tr);
}
}
}
/** 적재물 보상보험신고처리목록 그리기 */
function addVhcleList2() {
var vhcle2 = $('#vhcle2');
checkList = 0;
// 1. 테이블 내용 비움
$('tr', vhcle2).remove();
for(key in vhcleList1){
if(vhcleList1[key].checkYn){
var tr = "<tr><td><input type = 'checkbox' id='dnwls831' name ='dnwls831' value='"+vhcleList1[key].vhcleManageId+"' onclick='javascript:addRowIndex2("+vhcleList1[key].vhcleManageId+");' /></td>"
+ "<td>"+vhcleList1[key].rprsntvNm+"</td>"
+ "<td>"+vhcleList1[key].vhcleNo+"</td>"
+ "<td>"+vhcleList1[key].vhcleSe+"</td>"
+ "<td>"+vhcleList1[key].vhcleRegistDe+"</td></tr>";
$('#vhcle2').append(tr);
}
}
for(key in vhcleList2){
var tr = "<tr><td><input type = 'checkbox' id='dnwls832' name ='dnwls832' disabled='disabled' checked='checked'/></td>"
+ "<td>"+vhcleList2[key].rprsntvNm+"</td>"
+ "<td>"+vhcleList2[key].vhcleNo+"</td>"
+ "<td>"+vhcleList2[key].vhcleSe+"</td>"
+ "<td>"+vhcleList2[key].vhcleRegistDe+"</td></tr>";
$('#vhcle2').append(tr);
}
}
/** 선택된 index 가져오기 */
function fnGetIndex(vhcles, vhcleManageId) {
for (i in vhcles) {
if (vhcles[i].vhcleManageId == vhcleManageId) {
return i;
}
}
}
/* 목록으로 이동 */
function lmla00_list() {
wfwSubmit('form','/lm/la/00/list.do');
}
/*
* 입력값 검증
*/
function fnValidateValues() {
var data = new Array();
i = 0;
/** 적재물 보상보험신고처리 목록중 체크된 항목 체크 */
for(key in vhcleList1){
if(vhcleList1[key].checkYn){
var arraySelectedRow = $('input[type=checkbox][name=dnwls831][value='+vhcleList1[key].vhcleManageId+']');
if ($(arraySelectedRow).is(':checked')) {
data[i] = vhcleList1[key].vhcleManageId;
i++;
}
}
}
/** 체크된항목 리스트에 담기 */
$('#arrayVhcleManageId').val(data);
/** 적재물 보상보험신고처리 체크유무 */
if (lengthKor('arrayVhcleManageId') == 0){
$('#arrayVhcleManageId').val('');
openDialog('errorDialog', '적재물 보상보험신고처리 목록을 선택하세요.', null, 'checkRow');
return false;
}
var today = getTodayDate();
$('#today').val(today);
// 가입유효기간
if (!checkDate('sbscrbValidBeginDe')) {
openDialog('errorDialog', '가입유효시작일을 선택하세요.', null, 'sbscrbValidBeginDe');
return false;
}
if (!checkDate('sbscrbValidEndDe')) {
openDialog('errorDialog', '가입유효종료일을 선택하세요.', null, 'sbscrbValidEndDe');
return false;
}
// 기간 검증
if(!checkPeriod('sbscrbValidBeginDe', 'sbscrbValidEndDe')){
openDialog('errorDialog', '가입유효종료일이 가입유효시작일보다 이전이거나 같을 수 없습니다.', null, 'sbscrbValidEndDe');
return false;
}
// 기간 검증
if(!checkPeriod('today', 'sbscrbValidEndDe')){
openDialog('errorDialog', '가입유효종료일이 현재일보다 이전일 수 없습니다.', null, 'sbscrbValidEndDe');
return false;
}
openDialog('confirmSaveDialog', '자료를 등록 하시겠습니까?');
}
/* 등록 */
function fnSave(){
$.ajax({
url : '<c:url value="/lm/la/00/ajaxInsertStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
var vhcle2 = $('#vhcle2');
$('tr', vhcle2).remove();
openDialog('insertDialog', '자료가 등록 되었습니다.');
} else {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/** 초기화 */
function fnReset(){
var arraySelectedRow = $('input[type=checkbox][name=dnwls831]');
for (var idx = 0; idx < arraySelectedRow.length; idx++) {
var row = arraySelectedRow[idx];
vhcleList1[row.value].checkYn = false;
}
addVhcleList1();
addVhcleList2();
$('#form')[0].reset();
$('#sttemntDe').val(todayDate);
$('#sbscrbValidBeginDe').val("");
$('#sbscrbValidEndDe').val("");
$('#rm').val("");
}
</script>

@ -0,0 +1,204 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa0010SearchVO" >
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="lcnsNo" name="lcnsNo" />
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>적재물보상보험신고자료관리</span>
</p>
<h2>적재물보상보험신고자료관리</h2>
<h3>대상 검색</h3>
<!-- search -->
<div class="table01">
<table>
<caption>대상 검색</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th>업종 선택</th>
<td>
<select id="searchIndutyCode" name="searchIndutyCode" style="width: 50%">
<option value="">== 전체 ==</option>
<c:forEach items="${indutyList}" var="indutyList" varStatus="status">
<option value="${indutyList.indutyCode}" <c:if test="${lmLa0010SearchVO.searchIndutyCode == indutyList.indutyCode}">selected="selected"</c:if> >${indutyList.indutyNm}</option>
</c:forEach>
</select>
</td>
<th>면허 번호</th>
<td>
<form:input id="realLcnsNo" path="realLcnsNo" size="15" readonly="true"/>
<form:input type="hidden" id="searchLcnsNo" path="searchLcnsNo"/>
<%-- <form:input id="searchLcnsNo" path="searchLcnsNo" size="8" readonly="true"/> --%>
<a href="#" class="btn-search ml10" onclick="javascript:fnOpenSmCo07Pop('','');return false;"><span>검색</span></a>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1, true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<h3>면허 목록<span class="explain">[총 건수 : <strong>${lmLa0010SearchVO.totalCount}</strong>건]</span></h3>
<div class="table02">
<table id="list" name="list">
<caption>면허 목록</caption>
<colgroup>
<col width="12.5%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="12.5%" />
<col width="12.5%" />
<col width="12.5%" />
<col width="10%" />
</colgroup>
<thead>
<tr>
<th>사업자명</th>
<th>업종</th>
<th>관리번호</th>
<th>면허번호</th>
<th>대표자성명</th>
<th>허가일자</th>
<th>양도양수일자</th>
<th>인가대수</th>
<th>신고대수</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty lmla0010list}">
<c:forEach var="lmla0010list" items="${lmla0010list}" varStatus="status">
<tr onclick="javascript:fnView('${lmla0010list.lcnsNo}', this);" style="cursor:pointer;" >
<td class="textL">${lmla0010list.entrpsNm}</td>
<td class="textL">${lmla0010list.indutyNm}</td>
<td class="textC">${lmla0010list.lcnsNo}</td>
<td class="textC">${lmla0010list.realLcnsNo}</td>
<td class="textL">${lmla0010list.rprsntvNm}</td>
<td class="textC">${tbms_fn:printDate(lmla0010list.lcnsPrmisnDe)}</td>
<td class="textC">${tbms_fn:printDate(lmla0010list.trnsfrWpDe)}</td>
<td class="textR">${tbms_fn:maskNumber(lmla0010list.lcnsAlge, 3)}</td>
<td class="textR">${tbms_fn:maskNumber(lmla0010list.ssizeAlge, 3)}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:if test="${lmLa0010SearchVO.searchYn == 'Y'}">
<tr><td colspan="9" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:if>
<c:if test="${lmLa0010SearchVO.searchYn != 'Y' }">
<tr><td colspan="9" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:if>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<p class="mt10">목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1, true, true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}" type="tbms" jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
</div>
</form:form>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
}
});
initDatePicker('registDe');
initDatePicker('fromDate');
initDatePicker('toDate');
});
/* 목록 조회 */
function fnSearch(pageNo, button, listChk) {
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
if('${lmla0010list}' == ''){
return false;
}
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '/lm/la/00/list.do');
}
/* 면허번호 조회*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId, realLcnsNo) {
$('#searchLcnsNo').val(lcnsNo);
$('#realLcnsNo').val(realLcnsNo);
}
/*
* 상세보기로 이동
*/
function fnView(lcnsNo, obj) {
wfwTrSelected(obj); /*선택로우색변경 */
$('#lcnsNo').val(lcnsNo);
wfwSubmit('form', '/lm/la/00/goRegistStart.do');
}
/*
* 차고지등록
*/
function goRegGarage() {
$('#searchLcnsNo').val("");
$('#realLcnsNo').val("");
wfwSubmit('form', '/lm/la/00/goRegistStart.do');
}
/*
* 초기화
*/
function fnReset(){
$('#searchIndutyCode').val('');
$('#searchLcnsNo').val('');
$('#realLcnsNo').val('');
}
</script>

@ -0,0 +1,450 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa1010SearchVO" >
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="lcnsNo" name="lcnsNo" />
<input type="hidden" id="downloadResn" name="downloadResn" /> <!-- 엑셀 다운로드 사유를 입력받고 내용을 서버로 전송할 때 사용함 -->
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>주기적신고관리</span><span>주기적신고대상관리</span>
</p>
<h2>주기적신고 대상관리</h2>
<h3>대상 검색</h3>
<!-- search -->
<div class="table01">
<table>
<caption>대상 검색</caption>
<colgroup>
<col width="15%" />
<col width="20%" />
<col width="10%" />
<col width="20%" />
<col width="10%" />
<col width="25%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>사업자구분</th>
<td><input type="radio" id="searchBsnsSe1" name="searchBsnsSe" value="1" style="border:0;" > 개인 <input type="radio" id="searchBsnsSe2" name="searchBsnsSe" value="2" style="border:0;">법인 </td>
<th>업종 선택</th>
<td>
<select id="searchIndutyCode" name="searchIndutyCode">
<option value="" <c:if test="${null eq lmLa1010SearchVO.searchIndutyCode}">selected="selected"</c:if>> == 전체 ==</option>
<option value="232" <c:if test="${'232' eq lmLa1010SearchVO.searchIndutyCode}">selected="selected"</c:if>>일반화물운송사업</option>
<option value="241" <c:if test="${'241' eq lmLa1010SearchVO.searchIndutyCode}">selected="selected"</c:if>>화물운송주선업</option>
<option value="251" <c:if test="${'251' eq lmLa1010SearchVO.searchIndutyCode}">selected="selected"</c:if>>화물운송가맹사업</option>
</select>
</td>
<th>면허(허가)일자</th>
<td><form:input type="text" path="searchLcnsPrmisnStDe" id="searchLcnsPrmisnStDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled"/> ~ <form:input type="text" path="searchLcnsPrmisnEndDe" id="searchLcnsPrmisnEndDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
</tr>
<tr>
<th>면허(허가)번호</th>
<td><input type="text" id="searchLcnsNo" name="searchLcnsNo" value="${lmLa1010SearchVO.searchLcnsNo }"/></td>
<th>법인(주민)번호</th>
<td><input type="text" id="searchCprInhbtntRegistNo" name="searchCprInhbtntRegistNo" value="${lmLa1010SearchVO.searchCprInhbtntRegistNo }"/></td>
<th>양수일자</th>
<td><form:input type="text" path="searchTrnsfrWpStDe" id="searchTrnsfrWpStDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled"/> ~ <form:input type="text" path="searchTrnsfrWpEndDe" id="searchTrnsfrWpEndDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
</tr>
<tr>
<th>주기적신고 수리일자</th>
<td colspan="3">
<form:input type="text" path="searchCycleSttemntStDe" id="searchCycleSttemntStDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" /> ~ <form:input type="text" path="searchCycleSttemntEndDe" id="searchCycleSttemntEndDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/>
<input type="checkbox" id="searchCheckCSD" name="searchCheckCSD" value="N" onclick="javascript:fnClickChk();"/>주기적신고일자 없음
</td>
<th>관할관청</th>
<td>
<select id="searchPstinst" name="searchPstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmLa1010SearchVO.searchPstinst}"> selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnSaveInfo();"><strong><span>주기적 신고대상 등록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1, true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<h3 class="fl">면허 목록<span class="explain">[총 건수 : <strong>${lmLa1010SearchVO.totalCount}</strong>건]</span></h3>
<%-- <p class="mb10 fr"><a href="#" onclick="javascript:fnExcel();"><img src="<c:url value="/images/sub/btn-excel.gif"/>" alt="엑셀저장" /></a></p> --%>
<p class="mb10 fr"><a href="#" onclick="javascript:fnOpenExcelDownloadReasonPop();"><img src="<c:url value="/images/sub/btn-excel.gif"/>" alt="엑셀저장" /></a></p>
<div class="scroll c_both"> <!-- 스크롤 CSS 추가 -->
<div class="table02">
<table id="list" name="list">
<caption>면허 목록</caption>
<colgroup>
<col width="100" />
<col width="150" />
<col width="100" />
<col width="100" />
<col width="150" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="400" />
<col width="80" />
<col width="100" />
<col width="150" />
<col width="90" />
<col width="150" />
</colgroup>
<thead>
<tr>
<th>업종</th>
<th>사업자명</th>
<th>면허번호</th>
<th>면허허가일자</th>
<th>법인등록번호</th>
<th>주기적신고일</th>
<th>사업자번호</th>
<th>대표자명</th>
<th>우편번호</th>
<th>주소</th>
<th>면허대수</th>
<th>예비차량대수</th>
<th>전화번호</th>
<th>주선업유형</th>
<th>대표자주민번호</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty lmla1010list}">
<c:forEach var="lmla1010list" items="${lmla1010list}" varStatus="status">
<tr>
<td class="textC">${lmla1010list.indutyNm}</td>
<td class="textC">${lmla1010list.entrpsNm}</a></td>
<td class="textC">${lmla1010list.realLcnsNo}</td>
<td class="textC">${tbms_fn:printDate(lmla1010list.lcnsPrmisnDe)}</td>
<td class="textC">${tbms_fn:printIhidnum2(lmla1010list.cprInhbtntRegistNo)}</td>
<td class="textC">${tbms_fn:printDate(lmla1010list.cycleSttemntAcptDe)}</a></td>
<td class="textC">${lmla1010list.bsnmRegistNo}</a></td>
<td class="textC">${lmla1010list.rprsntvNm}</td>
<td class="textC">${lmla1010list.postNo}</td>
<td class="textC">${lmla1010list.adres}</td>
<td class="textC">${lmla1010list.lcnsAlge}</td>
<td class="textC">${lmla1010list.preparVhcle}</td>
<td class="textC">${lmla1010list.tlphonNo}</td>
<td class="textC">${lmla1010list.brokTy}</td>
<td class="textC">${tbms_fn:printIhidnum2(lmla1010list.rprsntvInhbtntRegistNo)}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:if test="${lmLa1010SearchVO.searchYn == 'Y'}">
<tr><td colspan="15" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:if>
<c:if test="${lmLa1010SearchVO.searchYn != 'Y' }">
<tr><td colspan="15" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:if>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<p class="mt10">목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1, true, true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}" type="tbms" jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
</div>
<div class="mw_layer" id="lmla1010Pop">
<div class="popWrap" id="lmla1010PopInfo" >
<div class="pop-header" id="lmla1010PopHeader">
<h1><strong>주기적 신고 대상 등록</strong></h1>
<a href="#layer_anchor" class="close" title="닫기" onclick="javascript:$.unblockUI();">닫기</a>
</div>
<div class="pop-body">
<div class="table01">
<table>
<caption>등록</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th>등록일자</th>
<td><input type="text" name="registDe" id="registDe" class="calendar" value="${lmLa1010SearchVO.registDe}" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
<th>문서번호</th>
<td><input type="text" id="etydoorNo" name="etydoorNo" class="half"/></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="btn ar area">
<a href="javascript:ajaxInsertStart()" class="btn-w close"><strong><span>등록</span></strong></a>
<a href="#layer_anchor" class="btn-w close" onclick="javascript:$.unblockUI();"><strong><span>닫기</span></strong></a>
</div>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
}
});
initDatePicker('registDe');
initDatePicker('searchLcnsPrmisnStDe');
initDatePicker('searchLcnsPrmisnEndDe');
initDatePicker('searchTrnsfrWpStDe');
initDatePicker('searchTrnsfrWpEndDe');
initDatePicker('searchCycleSttemntStDe');
initDatePicker('searchCycleSttemntEndDe');
if($('#searchYn').val() != 'Y'){
$('#searchLcnsPrmisnStDe').val(getTodayDate);
$('#searchLcnsPrmisnEndDe').val(getTodayDate);
dateTransformDash('searchLcnsPrmisnStDe');
dateTransformDash('searchLcnsPrmisnEndDe');
}else{
var searchBsnsSe = '${lmLa1010SearchVO.searchBsnsSe}';
$("input:radio[name='searchBsnsSe']:radio[value='"+searchBsnsSe+"']").attr("checked",true);
}
fnCheckBoxSetting();
});
/* 목록 조회 */
function fnSearch(pageNo, button, listChk) {
fnFormat(true);
if (!$('#searchBsnsSe1').is(":checked") && !$('#searchBsnsSe2').is(":checked") ) {
openDialog('errorDialog', '사업자구분을 선택하세요.', null, 'searchBsnsSe1');
return;
}
/* if (isEmpty('searchLcnsPrmisnStDe')) {
openDialog('errorDialog', '면허시작일자를 선택하세요.', null, 'searchLcnsPrmisnStDe');
return;
}
if (isEmpty('searchLcnsPrmisnEndDe')) {
openDialog('errorDialog', '면허종료일자를 선택하세요.', null, 'searchLcnsPrmisnEndDe');
return;
} */
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
if('${lmla1010list}' == ''){
return false;
}
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '/lm/la/10/10/list.do');
fnFormat(false);
}
function fnSaveInfo(){
if('${lmla1010list}' == '' || '${lmla1010list}' == '[]' ){
openDialog('errorDialog', '등록할 대상이 존재하지 않습니다.', null, 'fromDate');
return false;
}
$.blockUI({ message : $('#lmla1010Pop')});
}
function closePop(){
$('#saveInfo').hide();
}
/*
* 상세보기로 이동
*/
function fnView(lcnsNo, obj) {
wfwTrSelected(obj); /*선택로우색변경 */
$('#lcnsNo').val(lcnsNo);
wfwSubmit('form', '/lm/la/00/goRegistStart.do');
}
/*
* 주기적 신고대상 등록
*/
function ajaxInsertStart() {
// 날짜체크
if (!checkDate('registDe')) {
openDialog('errorDialog', '등록일자를 선택하세요.', null, 'registDe');
return;
}
// 문서번호 체크
if (lengthKor('etydoorNo') == 0) {
openDialog('errorDialog', '문서번호를 입력하세요.', null, 'etydoorNo');
return;
}
removeSpecific('registDe');
fnFormat(true);
$.ajax({
url : '<c:url value="/lm/la/10/10/ajaxInsertStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : {registDe:$('#registDe').val(), etydoorNo:$('#etydoorNo').val(), searchLcnsPrmisnStDe:$('#searchLcnsPrmisnStDe').val(), searchLcnsPrmisnEndDe:$('#searchLcnsPrmisnEndDe').val(), searchIndutyCode:$('#searchIndutyCode').val(), pageNo:$('#pageNo').val(),
searchBsnsSe: $("input:radio[name='searchBsnsSe']:checked").val(), searchLcnsNo: $('#searchLcnsNo').val(), searchCprInhbtntRegistNo:$('searchCprInhbtntRegistNo').val(), searchTrnsfrWpStDe:$('#searchTrnsfrWpStDe').val(), searchTrnsfrWpEndDe: $('#searchTrnsfrWpEndDe').val(),
searchCycleSttemntStDe : $('#searchCycleSttemntStDe').val(), searchCycleSttemntEndDe : $('#searchCycleSttemntEndDe').val()
},
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '주기적신고대상등록에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if(data.result){
openDialog('insertDialog', '주기적신고대상등록을 하였습니다.');
}else{
openDialog('errorDialog', '주기적신고대상등록에 실패하였습니다.');
}
$('#registDe').val("");
$('#etydoorNo').val("");
},
complete : function (jqXHR, textStatus) {
fnFormat(false);
$.unblockUI();
}
});
}
/*
* 초기화
*/
function fnReset(){
$('#searchIndutyCode').val('');
$('#searchLcnsPrmisnStDe').val('');
$('#searchLcnsPrmisnEndDe').val('');
$('#searchTrnsfrWpStDe').val('');
$('#searchTrnsfrWpEndDe').val('');
$('#searchCycleSttemntStDe').val('');
$('#searchCycleSttemntEndDe').val('');
$('#searchLcnsNo').val('');
$('#searchCprInhbtntRegistNo').val('');
$("input:radio[name='searchBsnsSe']").removeAttr("checked");
}
/**
* 입력 값 포맷셋팅
*/
function fnFormat(tf){
if(tf){
if($('#searchCprInhbtntRegistNo').val() != ""){
// 1. 법인주민등록번호 '-' 제거
removeSpecific('searchCprInhbtntRegistNo');
}
// 2. 면허 허가 시작일 '-' 제거
removeSpecific('searchLcnsPrmisnStDe');
// 3. 면허 허가 종료일 '-' 제거
removeSpecific('searchLcnsPrmisnEndDe');
if($('#searchTrnsfrWpStDe').val() != ""){
// 4. 양수 일자 시작일 '-' 제거
removeSpecific('searchTrnsfrWpStDe');
// 4. 양수 일자 종료일 '-' 제거
removeSpecific('searchTrnsfrWpEndDe');
}else if($('#searchCycleSttemntStDe').val() != ""){
// 5. 주기적신고 수리 일자 시작일 '-' 제거
removeSpecific('searchCycleSttemntStDe');
// 5. 주기적신고 수리 일자 종료일 '-' 제거
removeSpecific('searchCycleSttemntEndDe');
}
}else{
if($('#searchCprInhbtntRegistNo').val() != ""){
juminTransformDash('searchCprInhbtntRegistNo');
}
dateTransformDash('searchLcnsPrmisnStDe');
dateTransformDash('searchLcnsPrmisnEndDe');
if($('#searchTrnsfrWpStDe').val() != ""){
dateTransformDash('searchTrnsfrWpStDe');
dateTransformDash('searchTrnsfrWpEndDe');
}else if($('#searchCycleSttemntStDe').val() != ""){
dateTransformDash('searchCycleSttemntStDe');
dateTransformDash('searchCycleSttemntEndDe');
}
}
}
/*
* 엑셀 저장
*/
function fnExcel(){
fnClickChk();
var list = '${lmla1010list}';
if(list == '[]'){
openDialog('infoDialog', "<spring:message code='WFCO100'/>", null, 'entrpsNm');
return false;
}
fnFormat(true);
wfwSubmit('form','/lm/la/10/10/excel.do');
fnFormat(false);
}
/*
* 주기적신고일 미입력건 체크
*/
function fnClickChk(){
if($("input:checkbox[id='searchCheckCSD']").is(":checked") == true){
$('#searchCheckCSD').val('Y'); //주기적신고일 없음
$('#searchCycleSttemntStDe').val('');
$('#searchCycleSttemntEndDe').val('');
}else{
$('#searchCheckCSD').val('N'); //주기적신고일 있음
}
}
/** 체크박스 셋팅 **/
function fnCheckBoxSetting(){
var searchCheckCSD = '${lmLa1010SearchVO.searchCheckCSD}';
if(searchCheckCSD == 'Y'){//주기적신고일 없음
$("input[name=searchCheckCSD]:checkbox").attr("checked",true);
}
}
</script>

@ -0,0 +1,323 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa1020InsertVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="lcnsNo" name="lcnsNo" value="${lmLa1020InsertVO.lcnsNo}"/>
<input type="hidden" id="searchLcnsNo" name="searchLcnsNo" value="${lmLa1020InsertVO.searchLcnsNo}"/>
<input type="hidden" id="realLcnsNo" name="realLcnsNo" value="${lmLa1020InsertVO.realLcnsNo}"/>
<input type="hidden" id="dtaRegistDe" name="dtaRegistDe" value="${lmLa1020InsertVO.dtaRegistDe}"/>
<input type="hidden" id="processSttus" name="processSttus" value="${lmLa1020InsertVO.processSttus}" />
<input type="hidden" id="processSttusCode" name="processSttusCode" value="${lmLa1020InsertVO.processSttusCode}" />
<input type="hidden" id="fromDate" name="fromDate" value="${lmLa1020InsertVO.fromDate}" />
<input type="hidden" id="toDate" name="toDate" value="${lmLa1020InsertVO.toDate}" />
<input type="hidden" id="cProcessSttus" name="cProcessSttus"/>
<input type="hidden" id ="updateLcnsSttus" name="updateLcnsSttus"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>주기적신고자료관리</span>
</p>
<h2>주기적신고자료 상세</h2>
<h3>면허 정보</h3>
<div class="table01">
<table>
<caption>면허 정보 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th>사업자명(성명)</th>
<td>${lcnsDetail.entrpsNm}</td>
<th>면허번호</th>
<td>${lcnsDetail.realLcnsNo}</td>
</tr>
<tr>
<th>대표자명(성명)</th>
<td>${lcnsDetail.rprsntvNm}</td>
<th>법인등록번호</th>
<td>${tbms_fn:printIhidnum2(lcnsDetail.cprInhbtntRegistNo)}</td>
</tr>
<tr>
<th>최초면허일</th>
<td>${tbms_fn:printDate(lcnsDetail.lcnsPrmisnDe)}</td>
<th>자본금</th>
<td>${tbms_fn:maskNumber(lcnsDetail.caplAmount,3)}</td>
</tr>
<tr>
<th>양도양수일</th>
<td>${tbms_fn:printDate(lcnsDetail.trnsfrWpDe)}</td>
<th>예비차량</th>
<td>${tbms_fn:maskNumber(lcnsDetail.preparVhcle, 3)}</td>
</tr>
<tr>
<th>주사무소주소</th>
<td colspan="3">${lcnsDetail.useStrnghldAdres}</td>
</tr>
</tbody>
</table>
</div>
<div class="btn al">
<a href="#" class="btn-w" onclick="javascript:fnReport();"><strong><span>수리통보서 출력</span></strong></a>
</div>
</div>
<div class="combine">
<h3>확인 사항</h3>
<div class="table01">
<table id="list" name="list">
<caption>확인사항 입력 테이블</caption>
<colgroup>
<col width="8%" />
<col width="12%" />
<col width="8%" />
<col width="12%" />
<col width="8%" />
<col width="12%" />
<col width="8%" />
<col width="12%" />
<col width="8%" />
<col width="12%" />
</colgroup>
<tbody>
<tr>
<th rowspan="3">제출서류확인</th>
<td colspan="3"><input type="checkbox" id="offmEnsureSttus" name="offmEnsureSttus" disabled="disabled" style="border:0"/> 사무실확보현황</td>
<td colspan="3"><input type="checkbox" id="vhcleSttus" name="vhcleSttus" disabled="disabled" style="border:0"/> 차량현황</td>
<td colspan="3"><input type="checkbox" id="cprRgsbukTrnscr" name="cprRgsbukTrnscr" disabled="disabled" style="border:0"/> 법인등기부등본</td>
</tr>
<tr>
<td colspan="3"><input type="checkbox" id="garageInstlCnfrmn" name="garageInstlCnfrmn" disabled="disabled" style="border:0"/> 차고지설치확인서</td>
<td colspan="3"><input type="checkbox" id="caplEnsurePruf" name="caplEnsurePruf" disabled="disabled" style="border:0"/> 자본금확보증빙</td>
<td colspan="3"><input type="checkbox" id="frghtatmbPosesnPruf" name="frghtatmbPosesnPruf" disabled="disabled" style="border:0"/> 화물차소유증빙</td>
</tr>
<tr>
<td colspan="3"><input type="checkbox" id="crgbrdRepratnRspnsblEdyc" name="crgbrdRepratnRspnsblEdyc" disabled="disabled" style="border:0"/> 적재물배상책임보험증</td>
<td colspan="3"><input type="checkbox" id="cmclWrkmanPruf" name="cmclWrkmanPruf" disabled="disabled" style="border:0"/> 상용인부증빙</td>
<td colspan="3"><input type="checkbox" id="mgrtGrntyEdyc" name="mgrtGrntyEdyc" disabled="disabled" style="border:0"/> 이행보증보험증빙</td>
</tr>
<tr>
<th rowspan="3">보완내용</th>
<td colspan="3"><input type="checkbox" id="offmUnensure" name="offmUnensure" disabled="disabled" style="border:0"/> 사무실미확보</td>
<td colspan="3"><input type="checkbox" id="garageUnensure" name="garageUnensure" disabled="disabled" style="border:0"/> 차고지미확보</td>
<td colspan="3"><input type="checkbox" id="caplUnensure" name="caplUnensure" disabled="disabled" style="border:0"/> 자본금미확보</td>
</tr>
<tr>
<td colspan="3"><input type="checkbox" id="vhcleUnensure" name="vhcleUnensure" disabled="disabled" style="border:0"/> 차량미확보</td>
<td colspan="3"><input type="checkbox" id="crgbrdRepratnRspnsblEdycNo" name="crgbrdRepratnRspnsblEdycNo" disabled="disabled" style="border:0"/> 적재물배상책임보험미가입</td>
<td colspan="3"><input type="checkbox" id="cmclWrkmanUnensure" name="cmclWrkmanUnensure" disabled="disabled" style="border:0"/> 상용인부미확보</td>
</tr>
<tr>
<td colspan="9"><input type="checkbox" id="mgrtGrnUndpstNdUnsbscrb" name="mgrtGrnUndpstNdUnsbscrb" disabled="disabled" style="border:0"/> 이행보증금이예치, 이행보증보험 미가입</td>
</tr>
<tr>
<th>서류미비내용</th>
<td colspan="9"><textarea type="text" id="etcUprpdCn" name="etcUprpdCn" class="max" readonly="readonly"></textarea></td>
</tr>
<tr>
<th>신고접수일</th>
<td>
<input type="text" id="cycleSttemntRceptDe" name="cycleSttemntRceptDe" class="calendar" readonly="readonly" maxlength="10"/>
</td>
<th>수리일자</th>
<td>
<input type="text" id="acptDe" name="acptDe" class="calendar" readonly="readonly" maxlength="10"/>
</td>
<th>수리통보일</th>
<td>
<input type="text" id="acptDspthDe" name="acptDspthDe" class="calendar" readonly="readonly" maxlength="10"/>
</td>
<th>부적합처리일</th>
<td>
<input type="text" id="improptProcessDe" name="improptProcessDe" class="calendar" readonly="readonly" maxlength="10"/>
</td>
<th>행정처분</th>
<td>
<select name="administDspsCode" id="administDspsCode" style="width:80%" disabled="disabled">
<option value=""> == 선택 ==</option>
<c:forEach items="${parntsCodeList}" var="parntsCodeList" varStatus="status">
<option value="${parntsCodeList.code}" <c:if test="${lmLa1020InsertVO.administDspsCode == parntsCodeList.code}">selected="selected"</c:if>>${parntsCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>1차보완일</th>
<td>
<input type="text" id="firstSplemntRceptClosDe" name="firstSplemntRceptClosDe" class="calendar" readonly="readonly" maxlength="10"/>
</td>
<th>1차보완접수</th>
<td>
<input type="text" id="firstSplemntRceptDe" name="firstSplemntRceptDe" class="calendar" readonly="readonly" maxlength="10"/>
</td>
<th>2차보완일</th>
<td>
<input type="text" id="scdSplemntRceptClosDe" name="scdSplemntRceptClosDe" class="calendar" readonly="readonly" maxlength="10"/>
</td>
<th>2차보완접수</th>
<td>
<input type="text" id="scdSplemntRceptDe" name="scdSplemntRceptDe" class="calendar" readonly="readonly" maxlength="10"/>
</td>
<th>처리상태</th>
<td>
<select name="processSttus" id="processSttus" style="width:80%" disabled="disabled">
<option value=""> == 선택 ==</option>
<c:forEach items="${parntsCodeList2}" var="parntsCodeList2" varStatus="status">
<option value="${parntsCodeList2.code}" <c:if test="${lmLa1020InsertVO.processSttus == parntsCodeList2.code}">selected="selected"</c:if>>${parntsCodeList2.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmla1020_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:goUpdatePage();"><strong><span>수정</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
}
});
if('${cycleSttemnt.offmEnsureSttus}' == 'Y'){
$("#offmEnsureSttus").attr("checked", true);
}
if('${cycleSttemnt.vhcleSttus}' == 'Y'){
$("#vhcleSttus").attr("checked", true);
}
if('${cycleSttemnt.cprRgsbukTrnscr}' == 'Y'){
$("#cprRgsbukTrnscr").attr("checked", true);
}
if('${cycleSttemnt.garageInstlCnfrmn}' == 'Y'){
$("#garageInstlCnfrmn").attr("checked", true);
}
if('${cycleSttemnt.caplEnsurePruf}' == 'Y'){
$("#caplEnsurePruf").attr("checked", true);
}
if('${cycleSttemnt.frghtatmbPosesnPruf}' == 'Y'){
$("#frghtatmbPosesnPruf").attr("checked", true);
}
if('${cycleSttemnt.crgbrdRepratnRspnsblEdyc}' == 'Y'){
$("#crgbrdRepratnRspnsblEdyc").attr("checked", true);
}
if('${cycleSttemnt.cmclWrkmanPruf}' == 'Y'){
$("#cmclWrkmanPruf").attr("checked", true);
}
if('${cycleSttemnt.mgrtGrntyInsrncEdyc}' == 'Y'){
$("#mgrtGrntyEdyc").attr("checked", true);
}
if('${cycleSttemnt.offmUnensure}' == 'Y'){
$("#offmUnensure").attr("checked", true);
}
if('${cycleSttemnt.garageUnensure}' == 'Y'){
$("#garageUnensure").attr("checked", true);
}
if('${cycleSttemnt.caplUnensure}' == 'Y'){
$("#caplUnensure").attr("checked", true);
}
if('${cycleSttemnt.vhcleUnensure}' == 'Y'){
$("#vhcleUnensure").attr("checked", true);
}
if('${cycleSttemnt.crgbrdRepratnRspnsblInsrnc}' == 'Y'){
$("#crgbrdRepratnRspnsblEdycNo").attr("checked", true);
}
if('${cycleSttemnt.cmclWrkmanUnensure}' == 'Y'){
$("#cmclWrkmanUnensure").attr("checked", true);
}
if('${cycleSttemnt.mgrtGtnUndpstNdUnsbscrb}' == 'Y'){
$("#mgrtGrnUndpstNdUnsbscrb").attr("checked", true);
}
$('#cycleSttemntRceptDe').val('${cycleSttemnt.cycleSttemntRceptDe}');
$('#acptDe').val('${cycleSttemnt.acptDe}');
$('#acptDspthDe').val('${cycleSttemnt.acptDspthDe}');
$('#improptProcessDe').val('${cycleSttemnt.improptProcessDe}');
$('#firstSplemntRceptClosDe').val('${cycleSttemnt.fristSplemntRceptClosDe}');
$('#firstSplemntRceptDe').val('${cycleSttemnt.fristSplemntRceptDe}');
$('#scdSplemntRceptClosDe').val('${cycleSttemnt.scdSplemntRceptClosDe}');
$('#scdSplemntRceptDe').val('${cycleSttemnt.scdSplemntRceptDe}');
$('#etcUprpdCn').val('${cycleSttemnt.etcUprpdCn}');
});
/* 목록으로 이동 */
function lmla1020_list() {
wfwSubmit('form','/lm/la/10/20/list.do');
}
/*
* 수리통보서 출력( 관할관청 건만 수리통보서 출력이 가능하다.(단,서울시사용자는 전부 출력 가능하다.))
*/
function fnReport(){
var loginCmptncGrc = '${cmptncGrc}';
var cmptncGrc = '${lcnsDetail.cmptncGrc}';
/* if( loginCmptncGrc != '6110000' && loginCmptncGrc != cmptncGrc ){
openDialog('errorDialog', "<spring:message code='LMPTGL022'/>");
return false;
}
var processSttusCode = '${cycleSttemnt.processSttus}';
if( processSttusCode != '4' ){
openDialog('errorDialog', '수리통보서 출력은 수리(승인)인 경우에 가능합니다.');
return false;
} */
var fileNm = 'LMLA1020_RPT';
var param1 = '${cycleSttemnt.lcnsNo}';
var param2 = '${cycleSttemnt.dtaRegistDe}';
$('#reportForm').attr('action', '<c:url value="/ubi4/ubihtml.jsp"/>');
$('#reportForm input[name=file]').val(fileNm);
$('#reportForm input[name=arg]').val('param1#' + param1 + '#param2#' + param2);
$('#reportForm').attr('target', 'rptDiv');
$('#reportForm').submit();
}
/*
* 등록/수정 화면으로 이동
*/
function goUpdatePage() {
var processSttus = '${lmLa1020InsertVO.processSttus}';
var lcnsNo = '${lmLa1020InsertVO.lcnsNo}';
if( processSttus != '4' ){
openDialog('errorDialog', '* 처리상태가 [수리(승인)]인 경우에 수정가능합니다.');
return false;
}else{
$('#lcnsNo').val(lcnsNo);
$('#updateLcnsSttus').val("Y");
wfwSubmit('form', '/lm/la/10/20/goRegistStart.do');
}
}
</script>

@ -0,0 +1,589 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa1020SearchVO" >
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="lcnsNo" name="lcnsNo" />
<input type="hidden" id="dtaRegistDe" name="dtaRegistDe" />
<input type="hidden" id="processSttus" name="processSttus" />
<input type="hidden" id="administDspsCode" name="administDspsCode" />
<input type="hidden" id="downloadResn" name="downloadResn" /> <!-- 엑셀 다운로드 사유를 입력받고 내용을 서버로 전송할 때 사용함 -->
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>주기적신고관리</span><span>주기적신고자료관리</span>
</p>
<h2>주기적신고 자료관리</h2>
<h3>대상 검색</h3>
<!-- search -->
<div class="table01">
<table>
<caption>대상 검색</caption>
<colgroup>
<!-- <col width="7%" />
<col width="11%" />
<col width="11%" />
<col width="45%" />
<col width="10%" />
<col width="16%" /> -->
<col width="13%" />
<col width="35%" />
<col width="12%" />
<col width="40%" />
</colgroup>
<tbody>
<tr>
<th>면허 번호</th>
<td>
<form:input id="realLcnsNo" path="realLcnsNo" size="8" readonly="true"/>
<form:input type="hidden" id="searchLcnsNo" path="searchLcnsNo"/>
<%-- <form:input id="searchLcnsNo" path="searchLcnsNo" size="8" readonly="true"/> --%>
<a href="#" class="btn-search ml10" onclick="javascript:fnOpenSmCo07Pop('','');return false;"><span>검색</span></a>
</td>
<th>등록기간</th>
<td><form:input type="text" path="fromDate" id="fromDate" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled"/> ~ <form:input type="text" path="toDate" id="toDate" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
</tr>
<tr>
<th>관할관청</th>
<td>
<select id="searchPstinst" name="searchPstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmLa1020SearchVO.searchPstinst}"> selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
<th>처리상태</th>
<td>
<select id="processSttusCode" name="processSttusCode" >
<option value=""> == 전체 ==</option>
<c:forEach items="${parntsCodeList}" varStatus="status" var="parntsCodeList">
<option value="${parntsCodeList.code}"<c:if test="${parntsCodeList.code == lmLa1020SearchVO.processSttusCode }">selected="selected"</c:if>>${parntsCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>주기적신고일 기간</th>
<td colspan="3">
<form:input type="text" path="csaFromDate" id="csaFromDate" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled"/> ~ <form:input type="text" path="csaToDate" id="csaToDate" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/>
<input type="checkbox" id="searchCheckCSD" name="searchCheckCSD" value="N" onclick="javascript:fnClickChk();" <c:if test="${lmLa1020SearchVO.searchCheckCSD == 'Y'}">checked="checked"</c:if>/>체크시 주기적신고일자 없는 데이터제외 및 중복건수제거
<input type="checkbox" id="searchCheckNoneCSD" name="searchCheckNoneCSD" value="N" onclick="javascript:fnClickNoneChk();" <c:if test="${lmLa1020SearchVO.searchCheckNoneCSD == 'Y'}">checked="checked"</c:if>/>체크시 주기적신고일자 없는 데이터
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnCheckProcessSttus();"><strong><span>출력</span></strong></a>
<span style="color:blue;font-weight:bold;background-image:none;">*주기적신고대상관리에서 신고대상등록을 하신 경우 <span style="color:red;font-weight:bold;background-image:none;">출력을 먼저하셔야</span> 상세화면에서 제출서류확인 사항 등록이 가능하십니다.*</span>
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1, true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<h3 class="fl">대상 목록<span class="explain">[총 건수 : <strong>${lmLa1020SearchVO.totalCount}</strong>건]</span></h3>
<%-- <p class="mb10 fr"><a href="#" onclick="javascript:fnExcel();"><img src="<c:url value="/images/sub/btn-excel.gif"/>" alt="엑셀저장" /></a></p> --%>
<p class="mb10 fr"><a href="#" onclick="javascript:fnOpenExcelDownloadReasonPop();"><img src="<c:url value="/images/sub/btn-excel.gif"/>" alt="엑셀저장" /></a></p>
<div class="table02">
<table id="list" name="list">
<caption>대상목록</caption>
<colgroup>
<col width="10%" />
<col width="20%" />
<col width="10%" />
<col width="10%" />
<col width="20%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
</colgroup>
<thead>
<tr>
<th>업종</th>
<th>사업자명</th>
<th>면허번호</th>
<th>면허허가일자</th>
<th>법인(주민)등록번호</th>
<th>등록일자</th>
<th>주기적신고일</th>
<th>처리상태</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty lmla1020list}">
<c:forEach var="lmla1020list" items="${lmla1020list}" varStatus="status">
<tr onclick="javascript:fnView('${lmla1020list.lcnsNo}','${lmla1020list.dtaRegistDe}','${lmla1020list.processSttus}','${lmla1020list.administDspsCode}', this);" style="cursor:pointer;">
<td class="textC">${lmla1020list.indutyNm}</td>
<td class="textC">${lmla1020list.entrpsNm}</a></td>
<td class="textC">${lmla1020list.realLcnsNo}</td>
<td class="textC">${tbms_fn:printDate(lmla1020list.lcnsPrmisnDe)}</td>
<td class="textC">${tbms_fn:printIhidnum2(lmla1020list.cprInhbtntRegistNo)}</td>
<td class="textC">${tbms_fn:printDate(lmla1020list.dtaRegistDe)}</a></td>
<td class="textC">${tbms_fn:printDate(lmla1020list.cycleSttemntAcptDe)}</a></td>
<td class="textC">${lmla1020list.codeNm}</a></td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:if test="${lmLa1020SearchVO.searchYn == 'Y'}">
<tr><td colspan="8" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:if>
<c:if test="${lmLa1020SearchVO.searchYn != 'Y' }">
<tr><td colspan="8" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:if>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<p class="mt10">목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1, true, true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}" type="tbms" jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
</div>
</form:form>
<div class="mw_layer" id="lmla1020_pop" >
<form id="saveForm" name="saveForm" method="post" action="">
<!-- 팝업 영역 시작-->
<div class="popWrap" style="height:400px !important;">
<!-- 팝업 header -->
<div class="pop-header" id="lmla1020_pop_header">
<h1><strong>주기적신고안내문 출력선택</strong></h1>
<a href="#layer_anchor" class="close" title="닫기" onclick="javascript:$.unblockUI();">닫기</a>
</div>
<!-- //팝업 header -->
<!-- 팝업 body -->
<div class="pop-body" style="height:370px !important;">
<div class="table01">
<table>
<caption>면허(허가)증 출력선택</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>담당부서</th>
<td><input type="text" id="dep" name="dep"></td>
<th><span>*</span>담당자</th>
<td><input type="text" id="chargeInDep" name="chargeInDep"/></td>
</tr>
<tr>
<th><span>*</span>전화번호</th>
<td><input type="text" id="depTelNo" name="depTelNo" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" maxlength="13" style="ime-mode:disabled" size="16"/></td>
<th>팩스번호</th>
<td><input type="text" id="depFaxNo" name="depFaxNo" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" maxlength="13" style="ime-mode:disabled" size="16"/></td>
</tr>
<tr>
<th><span>*</span>발신자</th>
<td colspan="3"><input type="text" id="sender" name="sender"/></td>
</tr>
<tr>
<th><span>*</span>발신자 주소</th>
<td colspan="3">
<input type="text" id="senderPostNo" name="senderPostNo" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7" size="7"/>
<a href="#" class="btn-search ml10" onclick="fnRoadJuso('senderPostNo','senderAdres','senderAdresDetail');"><span>조회</span></a>
<input type="text" class="ml20" id="senderAdres" name="senderAdres" maxlength="100" size="42"/>
</td>
</tr>
<tr>
<th><span>*</span>발신자 상세주소</th>
<td colspan="3"><input type="text" id="senderAdresDetail" name="senderAdresDetail" maxlength="100" size="60"/></td>
</tr>
<!-- <tr>
<th>주소</th>
<td colspan="3"><input type="text" id="printRm1" name="printRm1" size="60"/></td>
</tr>
<tr>
<th>비고2</th>
<td colspan="3"><input type="text" id="printRm2" name="printRm2" size="60"/></td>
</tr>
<tr>
<th>출력일</th>
<td colspan="3"><input type="text" class="calendar" id="printDt" name="printDt" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled" maxlength="10"/></td>
</tr> -->
<!-- <tr>
<th>양식선택</th>
<td colspan="3"><input type="radio" id="selectForm1" name="selectForm" style="border:0px;" value="line"/>테두리선 있는 양식 <input type="radio" id="selectForm2" name="selectForm" style="border:0px;" value="noLine"/> 테두리선 없는 양식</td>
</tr>
<tr id="div_garage" style="display:none;">
<th>차고지 출력여부</th>
<td colspan="3"><input type="radio" id="printGarage1" name="printGarage" style="border:0px;" value="true"/>차고지 출력<input type="radio" id="printGarage2" name="printGarage" style="border:0px;" value="false"/> 차고지 미출력</td>
</tr>
<tr id="div_gikin" style="display:none;">
<th>직인 출력여부</th>
<td colspan="3"><input type="radio" id="printGikin1" name="printGikin" style="border:0px;" value="true"/>직인 출력<input type="radio" id="printGikin2" name="printGikin" style="border:0px;" value="false"/> 직인 미출력</td>
</tr>
<tr id="div_jugiDate" style="display:none;">
<th>주기적신고일 출력여부</th>
<td colspan="3"><input type="radio" id="printJugiDate1" name="printJugiDate" style="border:0px;" value="true"/>주기적신고일 출력<input type="radio" id="printJugiDate2" name="printJugiDate" style="border:0px;" value="false"/> 주기적신고일 미출력</td>
</tr> -->
</tbody>
</table>
</div>
<!-- //팝업 body -->
<!-- 버튼 -->
<div class="btn ar area">
<span style="color:blue;font-weight:bold;background-image:none;">*안내문 출력후 <span style="color:red;font-weight:bold;background-image:none;">반드시 출력완료(처리상태변경)</span> 버튼을 클릭해 주세요.*</span>
</div>
<div class="btn ar area">
<a href="#layer_anchor" class="btn-w" onclick="javascript:fnReport();"><strong><span>안내문출력</span></strong></a>
<a href="#layer_anchor" class="btn-w close" onclick="javascript:fnSendPost();"><strong><span>출력완료(처리상태변경)</span></strong></a>
</div>
<!-- // 버튼 -->
</div>
</div>
<!-- //팝업 영역 끝 -->
</form>
</div>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'출력' : function () {
$(this).dialog('close');
fnOpenPop();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
wfwSubmit('form', '/lm/la/10/20/list.do');
}
});
$('#lmla1020_pop').draggable({cursor: "move", handle : $('#lmla1020_pop_header') });
//
initDatePicker('fromDate');
initDatePicker('toDate');
initDatePicker('csaFromDate');
initDatePicker('csaToDate');
if('${searchYn}' != 'Y'){
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
if(month < 10) month = "0" + month;
if(day < 10) day = "0" + day;
var toady = year + "-" + month + "-" + day;
/* $('#fromDate').val(toady);
$('#toDate').val(toady); */
}
});
/* 출력,리스트중 처리상태가 안내문미발송 몇건인지 체크 */
function fnCheckProcessSttus(){
if($("input:checkbox[id='searchCheckCSD']").is(":checked") == true){
$('#searchCheckCSD').val('Y'); //주기적신고일 없음 제외
}else{
$('#searchCheckCSD').val('N'); //주기적신고일 없는 데이터 포함
}
if($("input:checkbox[id='searchCheckNoneCSD']").is(":checked") == true){
$('#searchCheckNoneCSD').val('Y'); //주기적신고일 없음
}else{
$('#searchCheckNoneCSD').val('N'); //주기적신고일 없는 데이터 미포함
}
var processSttusCode = $('#processSttusCode').val();
if( processSttusCode != '9' && processSttusCode != '4' ){
openDialog('errorDialog', '출력 대상(안내문미발송)이 아닙니다.<br/> 검색조건의 처리상태를 안내문 미발송으로 선택하시고 출력해주세요!');
return false;
}
$.ajax({
url : '<c:url value="/lm/la/10/20/ajaxCheckProcessSttus.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '안내문미발송 자료조회를 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('confirmSaveDialog', '안내문미발송자료가 '+ data.result+'건 입니다. 우편물발송을 하시겠습니까?');
} else {
openDialog('errorDialog', '우편물발송할 안내문미발송자료가 없습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/* 안내문미발송건 우편물발송 */
function fnSendPost(){
$.ajax({
url : '<c:url value="/lm/la/10/20/ajaxUpdateProcessSttus.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '안내문미발송처리를 발송처리 하는데 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '안내문미발송자료를 우편물 발송처리하였습니다.');
} else {
openDialog('errorDialog', '안내문미발송처리를 발송처리 하는데 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/* 검색 유효성 체크 */
function fnChkValidate(){
if (isEmpty('fromDate') && !isEmpty('toDate')) {
openDialog('errorDialog', "등록기간 검색 시작일을 입력하세요.", null, 'fromDate');
return false;
}
if (!isEmpty('fromDate') && isEmpty('toDate')) {
openDialog('errorDialog', "등록기간 검색 종료일을 입력하세요.", null, 'toDate');
return false;
}
if (isEmpty('csaFromDate') && !isEmpty('csaToDate')) {
openDialog('errorDialog', "주기적신고일기간 검색 시작일을 입력하세요.", null, 'csaFromDate');
return false;
}
if (!isEmpty('csaFromDate') && isEmpty('csaToDate')) {
openDialog('errorDialog', "주기적신고일기간 검색 종료일을 입력하세요.", null, 'csaToDate');
return false;
}
if($("#searchLcnsNo").val()==""
&& $("#processSttusCode").val()==""
&& $("#searchPstinst").val()==""
&& $("#fromDate").val()==""
&& $("#toDate").val()==""
&& $("#csaFromDate").val()==""
&& $("#csaToDate").val()==""
&& !$("#searchCheckCSD").is(":checked")
&& !$("#searchCheckNoneCSD").is(":checked")
){
alert('검색조건을 1개 이상 입력 또는 선택하세요.');
return false;
}
return true;
}
/* 목록 조회 */
function fnSearch(pageNo, button, listChk) {
if( !fnChkValidate() ){
return false;
}
fnClickChk();
fnClickNoneChk();
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
if('${lmla1020list}' == ''){
return false;
}
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '/lm/la/10/20/list.do');
}
/*
* 상세보기로 이동
*/
function fnView(lcnsNo, dtaRegistDe, processSttus, administDspsCode, obj) {
wfwTrSelected(obj); /*선택로우색변경 */
if( processSttus == '9' ){
openDialog('errorDialog', '* 처리상태가 [안내문미발송]인 경우 [출력]을 먼저하셔야 상세화면에서 제출서류확인 사항 등록이 가능합니다.<BR/>* 처리상태가 [자료등록]인 경우에 입력가능합니다.');
return false;
}else{
$('#lcnsNo').val(lcnsNo);
$('#dtaRegistDe').val(dtaRegistDe);
$('#processSttus').val(processSttus);
$('#administDspsCode').val(administDspsCode);
wfwSubmit('form', '/lm/la/10/20/goRegistStart.do');
}
}
/* 면허번호 조회*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId, realLcnsNo) {
$('#searchLcnsNo').val(lcnsNo);
$('#realLcnsNo').val(realLcnsNo);
}
/*
* 초기화
*/
function fnReset(){
$('#processSttusCode').val('');
$('#searchLcnsNo').val('');
$('#realLcnsNo').val('');
$('#fromDate').val('');
$('#toDate').val('');
$('#csaFromDate').val('');
$('#csaToDate').val('');
$('#searchCheckCSD').val('N'); //주기적신고일 없는 데이터 포함
$('input:checkbox[id="searchCheckCSD"]').attr("checked",false);
$('#searchCheckNoneCSD').val('N'); //주기적신고일 없는 데이터 미포함
$('input:checkbox[id="searchCheckNoneCSD"]').attr("checked",false);
}
/*
* 엑셀 저장
*/
function fnExcel(){
var list = '${lmla1020list}';
if(list == '[]'){
openDialog('infoDialog', "<spring:message code='WFCO100'/>", null, 'entrpsNm');
return false;
}
wfwSubmit('form','/lm/la/10/20/excel.do');
}
/**
* 팝업
*/
function fnOpenPop() {
$.blockUI({ message : $('#lmla1020_pop') });
}
/**
*리포트 URL 및 공통 Param 설정
**/
function fnCmmnReportParamSet(checkYN){
var lcnsNo = '${lmLa1020SearchVO.searchLcnsNo}';
var cmptncGrc = '${lmLa1020SearchVO.searchPstinst}';
var dep = $('#dep').val();
var chargeInDep = $('#chargeInDep').val();
var depTelNo = $('#depTelNo').val();
var depFaxNo = $('#depFaxNo').val();
var sender = $('#sender').val();
var senderAdres = $('#senderAdres').val();
var senderAdresDetail = $('#senderAdresDetail').val();
var senderPostNo = $('#senderPostNo').val();
var fromDate = $('#fromDate').val();
var toDate = $('#toDate').val();
var csaFromDate = $('#csaFromDate').val();
var csaToDate = $('#csaToDate').val();
var searchCheckCSD = $('#searchCheckCSD').val();
var searchCheckNoneCSD = $('#searchCheckNoneCSD').val();
var param = "lcnsNo#"+lcnsNo
+"#cmptncGrc#"+cmptncGrc
+"#dep#"+dep
+"#chargeInDep#"+chargeInDep
+"#depTelNo#"+depTelNo
+"#depFaxNo#"+depFaxNo
+"#sender#"+sender
+"#senderAdres#"+senderAdres
+"#senderAdresDetail#"+senderAdresDetail
+"#senderPostNo#"+senderPostNo
+"#fromDate#"+fromDate
+"#toDate#"+toDate
+"#csaFromDate#"+csaFromDate
+"#csaToDate#"+csaToDate
+"#searchCheckCSD#"+searchCheckCSD
+"#searchCheckNoneCSD#"+searchCheckNoneCSD;
return param;
}
function fnReport(){
var fileNm = 'LMLA1020_INFO_RPT';
var param = fnCmmnReportParamSet();
$('#reportForm').attr('action', '<c:url value="/ubi4/ubihtml.jsp"/>');
$('#reportForm input[name=file]').val(fileNm);
$('#reportForm input[name=arg]').val(param);
//$('#reportForm input[name=param]').val('lcns_no#' + lcnsNo+'#visibleCr#'+visibleCr+'#dep#'+dep+'#chargeInDep#'+chargeInDep+'#charge#'+charge+'#depTelNo#'+depTelNo+'#printRm1#'+printRm1+'#printRm2#'+printRm2+'#selectForm#'+selectForm+'#printDt#'+printDt);
$('#reportForm').attr('target', 'rptDiv');
$('#reportForm').submit();
}
/*
* 주기적신고일 미입력건 체크
*/
function fnClickChk(){
if($("input:checkbox[id='searchCheckCSD']").is(":checked") == true){
$('#searchCheckCSD').val('Y'); //주기적신고일 없음 제외
}else{
$('#searchCheckCSD').val('N'); //주기적신고일 없는 데이터 포함
}
}
function fnClickNoneChk(){
if($("input:checkbox[id='searchCheckNoneCSD']").is(":checked") == true){
$('#searchCheckNoneCSD').val('Y'); //주기적신고일 없는 데이터 출력
}else{
$('#searchCheckNoneCSD').val('N'); //주기적신고일 없는 데이터 미포함
}
}
</script>

@ -0,0 +1,306 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa2010InsertVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>임시면허관리</span>
</p>
<h2>임시면허등록</h2>
<h3>등록정보</h3>
<div class="table01">
<table>
<caption>업체정보 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>업종</th>
<td>
<select id="indutyCode" name="indutyCode">
<option value="">== 선택 ==</option>
<c:forEach items="${indutyList}" var="indutyList" varStatus="status">
<option value="${indutyList.indutyCode}">${indutyList.indutyNm}</option>
</c:forEach>
</select>
</td>
<th><span>*</span>임시등록사유</th>
<td>
<select id="tmprRegistResn" name="tmprRegistResn" style="width: 25%">
<option value="">== 선택 ==</option>
<option value="13">신규</option>
<option value="19">양도양수</option>
<option value="70">증차</option>
</select>
</td>
</tr>
<tr>
<th><span>*</span>사업자명</th>
<td><input type="text" id="nm" name="nm" class="min" maxlength="50"/></td>
<th><span>*</span>주민(법인)등록번호</th>
<td><input type="text" id="inhbtntNo" name="inhbtntNo" onkeypress="javascript:return wfwInhbtntDashFormat(this);" style="ime-mode:disabled" class="mid" maxlength="28"/></td>
</tr>
<tr>
<th>임시차량번호</th>
<td><input type="text" id="tmprVhcleNo" name="tmprVhcleNo" class="min" value="${tmprLcnsVhcleNo}" /><span style="color:red;">(*현재는 자동으로 임시차량번호생성.)</span></td>
<th>임시사업허가번호</th>
<td><input type="text" id="tmprBsnsPrmisnNo" name="tmprBsnsPrmisnNo" class="mid" /></td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td colspan="3">
<input type="text" id="postNo" name="postNo" size="7" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7" />
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo','adres','detailAdres');"><span>검색</span></a>
<input type="text" id="adres" name="adres" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th><span>*</span>상세주소</th>
<td colspan="3"><input type="text" id="detailAdres" name="detailAdres" size="118" maxlength="300"/></td>
</tr>
<tr>
<th><span>*</span>관할관청</th>
<td colspan="3">
<select id="cmptncGrc" name="cmptncGrc">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}">${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>전화번호</th>
<td><input type="text" id="tlphonNo" name="tlphonNo" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" style="ime-mode:disabled" class="min" maxlength="30"/></td>
<th>최대적재량</th>
<td><input type="text" id="mxmmLdadngqy" name="mxmmLdadngqy" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" class="min" maxlength="6"/></td>
</tr>
<tr>
<th>길이</th>
<td><input type="text" id="lt" name="lt" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" class="min" maxlength="12"/></td>
<th>너비</th>
<td><input type="text" id="bt" name="bt" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" class="min" maxlength="12"/></td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea id="rm" name="rm" class="max" maxlength="500"></textarea></td>
</tr>
</tbody>
</table>
</div>
<!-- //업체정보 -->
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmla20_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>등록</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco08.js"/>"></script>
<div id="smco08_pop" class="mw_layer"></div>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
//등록 완료 후 목록으로 이동
$(this).dialog('close');
$.unblockUI();
lmla20_list();
}
});
initDatePicker('cnfmBeginDe');
initDatePicker('cnfmEndDe');
initDatePicker('garageRegistDe');
});
/* 목록으로 이동 */
function lmla20_list() {
wfwSubmit('form','/lm/la/20/list.do');
}
/*
* 입력값 검증
*/
function fnValidateValues() {
// 업종
if (isEmpty('indutyCode')) {
openDialog('errorDialog', '업종을 선택하세요.', null, 'indutyCode');
return false;
}
// 임시등록사유
if (isEmpty('tmprRegistResn')) {
openDialog('errorDialog', '임시등록사유를 선택하세요.', null, 'tmprRegistResn');
return false;
}
// 사업자명
if(lengthKor('nm') == 0){
openDialog('errorDialog', '사업자명을 입력하세요.', null, 'nm');
return false;
}else if(lengthKor('nm') > 50){
openDialog('errorDialog', '사업자명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('nm')+')', null, 'nm');
return false;
}
/* if(!checkIhidnum2('inhbtntNo')){
openDialog('errorDialog', '주민등록번호 입력형식이 맞지 않습니다.', null, 'inhbtntNo');
return false;
}
*/
/* // 임시차량번호
if(lengthKor('tmprVhcleNo') == 0){
openDialog('errorDialog', '임시차량번호를 입력하세요.', null, 'tmprVhcleNo');
return false;
}else if(lengthKor('tmprVhcleNo') > 20){
openDialog('errorDialog', '임시차량번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('tmprVhcleNo')+')', null, 'tmprVhcleNo');
return false;
}
*/
/* // 임시사업허가번호
if(lengthKor('tmprBsnsPrmisnNo') == 0){
openDialog('errorDialog', '임시사업허가번호를 입력하세요.', null, 'tmprBsnsPrmisnNo');
return false;
}else if(lengthKor('tmprBsnsPrmisnNo') > 10){
openDialog('errorDialog', '임시사업허가번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('tmprBsnsPrmisnNo')+')', null, 'tmprBsnsPrmisnNo');
return false;
}
*/
// 주소
if (lengthKor('adres') == 0) {
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres');
return false;
}else if(lengthKor('adres') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres')+')', null, 'adres');
return false;
}
// 상세주소
if (lengthKor('detailAdres') == 0) {
openDialog('errorDialog', '상세주소를 입력하세요.', null, 'detailAdres');
return false;
}else if(lengthKor('detailAdres') > 300){
openDialog('errorDialog', '상세주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres')+')', null, 'detailAdres');
return false;
}
// 전화번호
if (lengthKor('tlphonNo') == 0) {
openDialog('errorDialog', '전화번호를 입력하세요.', null, 'tlphonNo');
return false;
}else if(lengthKor('tlphonNo') > 30){
openDialog('errorDialog', '전화번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('tlphonNo')+')', null, 'tlphonNo');
return false;
}
/* // 최대적재량
if (lengthKor('mxmmLdadngqy') == 0) {
openDialog('errorDialog', '최대적재량을 입력하세요.', null, 'mxmmLdadngqy');
return false;
}else if(lengthKor('mxmmLdadngqy') > 6){
openDialog('errorDialog', '최대적재량 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('mxmmLdadngqy')+')', null, 'mxmmLdadngqy');
return false;
}
// 길이
if (lengthKor('lt') == 0) {
openDialog('errorDialog', '길이를 입력하세요.', null, 'lt');
return false;
}else if(lengthKor('lt') > 13){
openDialog('errorDialog', '길이 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('lt')+')', null, 'lt');
return false;
}
// 너비
if (lengthKor('bt') == 0) {
openDialog('errorDialog', '너비를 입력하세요.', null, 'bt');
return false;
}else if(lengthKor('bt') > 13){
openDialog('errorDialog', '너비 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('bt')+')', null, 'bt');
return false;
} */
openDialog('confirmSaveDialog', '저장하시겠습니까?');
}
/* 등록 */
function fnSave(){
fnFormat(true);
$.ajax({
url : '<c:url value="/lm/la/20/ajaxInsertStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '임시면허 정보를 등록에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '임시면허정보를 등록하였습니다.');
} else {
openDialog('errorDialog', '임시면허 정보등록에 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
fnFormat(false);
}
});
}
/** 초기화 */
function fnReset(){
$('#form')[0].reset();
$('#entrpsNm').text("");
$('#cprInhbtntRegistNo').text("");
$('#rprsntvNm').text("");
$('#rprsntvInhbtntRegistNo').text("");
$('#useStrnghldAdres').text("");
}
/**
* 입력 값 포맷셋팅
*/
function fnFormat(tf){
if(tf){
// 1. 주민등록번호 '-' 제거
removeSpecific('inhbtntNo');
}else{
juminTransformDash('inhbtntNo');
}
}
</script>

@ -0,0 +1,316 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa2010InsertVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="tmprLcnsNo" name="tmprLcnsNo" value="${tmprLcnsDetail.tmprLcnsNo }">
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>임시면허관리</span>
</p>
<h2>임시면허수정</h2>
<h3>수정정보</h3>
<div class="table01">
<table>
<caption>업체정보 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>업종</th>
<td>
<select id="indutyCode" name="indutyCode">
<option value="">== 선택 ==</option>
<c:forEach items="${indutyList}" var="indutyList" varStatus="status">
<option value="${indutyList.indutyCode}" <c:if test="${indutyList.indutyCode == tmprLcnsDetail.indutyCode}">selected="selected"</c:if>>${indutyList.indutyNm}</option>
</c:forEach>
</select>
</td>
<th><span>*</span>임시등록사유</th>
<td>
<select id="tmprRegistResn" name="tmprRegistResn" style="width: 25%">
<option value="">== 선택 ==</option>
<option value="13" <c:if test="${'13' == tmprLcnsDetail.tmprRegistResn}">selected="selected"</c:if>>신규</option>
<option value="19" <c:if test="${'19' == tmprLcnsDetail.tmprRegistResn}">selected="selected"</c:if>>양도양수</option>
<option value="70" <c:if test="${'70' == tmprLcnsDetail.tmprRegistResn}">selected="selected"</c:if>>증차</option>
</select>
</td>
</tr>
<tr>
<th><span>*</span>사업자명</th>
<td><input type="text" id="nm" name="nm" value="${tmprLcnsDetail.nm}" class="min" maxlength="50"/></td>
<th><span>*</span>주민(법인)등록번호</th>
<td><input type="text" id="inhbtntNo" name="inhbtntNo" onkeypress="javascript:return wfwInhbtntDashFormat(this);" value="${tbms_fn:printIhidnum2(tmprLcnsDetail.inhbtntNo)}" style="ime-mode:disabled" class="mid" maxlength="28"/></td>
</tr>
<tr>
<th>임시차량번호</th>
<td><input type="text" id="tmprVhcleNo" name="tmprVhcleNo" class="min" value="${tmprLcnsDetail.tmprVhcleNo}" /><span style="color:red;">(*현재는 자동으로 임시차량번호생성.)</span></td>
<th>임시사업허가번호</th>
<td><input type="text" id="tmprBsnsPrmisnNo" name="tmprBsnsPrmisnNo" value="${tmprLcnsDetail.tmprBsnsPrmisnNo}" class="mid" /></td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td colspan="3">
<input type="text" id="postNo" name="postNo" size="7" value="${tmprLcnsDetail.postNo}" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7" />
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo','adres','detailAdres');"><span>검색</span></a>
<input type="text" id="adres" name="adres" value="${tmprLcnsDetail.adres}" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th><span>*</span>상세주소</th>
<td colspan="3"><input type="text" id="detailAdres" name="detailAdres" value="${tmprLcnsDetail.detailAdres}" size="118" maxlength="300"/></td>
</tr>
<tr>
<th><span>*</span>관할관청</th>
<td colspan="3">
<select id="cmptncGrc" name="cmptncGrc">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == tmprLcnsDetail.cmptncGrc}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>전화번호</th>
<td><input type="text" id="tlphonNo" name="tlphonNo" value="${tmprLcnsDetail.tlphonNo}" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" style="ime-mode:disabled" class="min" maxlength="30"/></td>
<th>최대적재량</th>
<td><input type="text" id="mxmmLdadngqy" name="mxmmLdadngqy" value="${tmprLcnsDetail.mxmmLdadngqy}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" class="min" maxlength="6"/></td>
</tr>
<tr>
<th>길이</th>
<td><input type="text" id="lt" name="lt" value="${tmprLcnsDetail.lt2}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" class="min" maxlength="12"/></td>
<th>너비</th>
<td><input type="text" id="bt" name="bt" value="${tmprLcnsDetail.bt}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" class="min" maxlength="12"/></td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea id="rm" name="rm" class="max" maxlength="500">${tmprLcnsDetail.rm}</textarea></td>
</tr>
</tbody>
</table>
</div>
<!-- //업체정보 -->
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmla20_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>수정</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco08.js"/>"></script>
<div id="smco08_pop" class="mw_layer"></div>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
//등록 완료 후 목록으로 이동
$(this).dialog('close');
$.unblockUI();
//lmla20_list();
fnView();
}
});
initDatePicker('cnfmBeginDe');
initDatePicker('cnfmEndDe');
initDatePicker('garageRegistDe');
});
/* 목록으로 이동 */
function lmla20_list() {
wfwSubmit('form','/lm/la/20/list.do');
}
/*
* 입력값 검증
*/
function fnValidateValues() {
// 업종
if (isEmpty('indutyCode')) {
openDialog('errorDialog', '업종을 선택하세요.', null, 'indutyCode');
return false;
}
// 임시등록사유
if (isEmpty('tmprRegistResn')) {
openDialog('errorDialog', '임시등록사유를 선택하세요.', null, 'tmprRegistResn');
return false;
}
// 사업자명
if(lengthKor('nm') == 0){
openDialog('errorDialog', '사업자명을 입력하세요.', null, 'nm');
return false;
}else if(lengthKor('nm') > 50){
openDialog('errorDialog', '사업자명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('nm')+')', null, 'nm');
return false;
}
/* if(!checkIhidnum2('inhbtntNo')){
openDialog('errorDialog', '주민등록번호 입력형식이 맞지 않습니다.', null, 'inhbtntNo');
return false;
}
*/
/* // 임시차량번호
if(lengthKor('tmprVhcleNo') == 0){
openDialog('errorDialog', '임시차량번호를 입력하세요.', null, 'tmprVhcleNo');
return false;
}else if(lengthKor('tmprVhcleNo') > 20){
openDialog('errorDialog', '임시차량번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('tmprVhcleNo')+')', null, 'tmprVhcleNo');
return false;
}
*/
/* // 임시사업허가번호
if(lengthKor('tmprBsnsPrmisnNo') == 0){
openDialog('errorDialog', '임시사업허가번호를 입력하세요.', null, 'tmprBsnsPrmisnNo');
return false;
}else if(lengthKor('tmprBsnsPrmisnNo') > 10){
openDialog('errorDialog', '임시사업허가번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('tmprBsnsPrmisnNo')+')', null, 'tmprBsnsPrmisnNo');
return false;
}
*/
// 주소
if (lengthKor('adres') == 0) {
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres');
return false;
}else if(lengthKor('adres') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres')+')', null, 'adres');
return false;
}
// 상세주소
if (lengthKor('detailAdres') == 0) {
openDialog('errorDialog', '상세주소를 입력하세요.', null, 'detailAdres');
return false;
}else if(lengthKor('detailAdres') > 300){
openDialog('errorDialog', '상세주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres')+')', null, 'detailAdres');
return false;
}
// 전화번호
if (lengthKor('tlphonNo') == 0) {
openDialog('errorDialog', '전화번호를 입력하세요.', null, 'tlphonNo');
return false;
}else if(lengthKor('tlphonNo') > 30){
openDialog('errorDialog', '전화번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('tlphonNo')+')', null, 'tlphonNo');
return false;
}
/* // 최대적재량
if (lengthKor('mxmmLdadngqy') == 0) {
openDialog('errorDialog', '최대적재량을 입력하세요.', null, 'mxmmLdadngqy');
return false;
}else if(lengthKor('mxmmLdadngqy') > 6){
openDialog('errorDialog', '최대적재량 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('mxmmLdadngqy')+')', null, 'mxmmLdadngqy');
return false;
}
// 길이
if (lengthKor('lt') == 0) {
openDialog('errorDialog', '길이를 입력하세요.', null, 'lt');
return false;
}else if(lengthKor('lt') > 13){
openDialog('errorDialog', '길이 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('lt')+')', null, 'lt');
return false;
}
// 너비
if (lengthKor('bt') == 0) {
openDialog('errorDialog', '너비를 입력하세요.', null, 'bt');
return false;
}else if(lengthKor('bt') > 13){
openDialog('errorDialog', '너비 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('bt')+')', null, 'bt');
return false;
} */
openDialog('confirmSaveDialog', '저장하시겠습니까?');
}
/* 수정 */
function fnSave(){
fnFormat(true);
$.ajax({
url : '<c:url value="/lm/la/20/ajaxUpdateStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '임시면허 정보를 등록에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '임시면허정보를 등록하였습니다.');
} else {
openDialog('errorDialog', '임시면허 정보등록에 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
fnFormat(false);
}
});
}
/** 초기화 */
function fnReset(){
$('#form')[0].reset();
$('#entrpsNm').text("");
$('#cprInhbtntRegistNo').text("");
$('#rprsntvNm').text("");
$('#rprsntvInhbtntRegistNo').text("");
$('#useStrnghldAdres').text("");
}
/**
* 입력 값 포맷셋팅
*/
function fnFormat(tf){
if(tf){
// 1. 주민등록번호 '-' 제거
removeSpecific('inhbtntNo');
}else{
juminTransformDash('inhbtntNo');
}
}
/*
* 상세보기로 이동
*/
function fnView() {
//$('#tmprLcnsNo').val(tmprLcnsNo);
wfwSubmit('form', '/lm/la/20/goDetail.do');
}
</script>

@ -0,0 +1,224 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa2010SearchVO" >
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="tmprLcnsNo" name="tmprLcnsNo" />
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>임시면허관리</span>
</p>
<h2>임시면허관리</h2>
<h3>대상 검색</h3>
<div class="table01">
<table>
<caption>대상 검색</caption>
<colgroup>
<col width="15%" />
<col width="15%" />
<col width="15%" />
<col width="15%" />
<col width="15%" />
<col width="25%" />
</colgroup>
<tbody>
<tr>
<th>업종 선택</th>
<td>
<form:select id="searchIndutyCode" path="searchIndutyCode">
<option value="">== 전체 ==</option>
<c:forEach items="${indutyList}" var="indutyList" varStatus="status">
<option value="${indutyList.indutyCode}" <c:if test="${lmLa2010SearchVO.searchIndutyCode == indutyList.indutyCode}">selected="selected"</c:if>>${indutyList.indutyNm}</option>
</c:forEach>
</form:select>
</td>
<th>사업자명</th>
<td><input type="text" id="searchNm" name="searchNm" class="middle" maxlength="50" onkeypress="javascript:fnEnter(event);" value="${lmLa2010SearchVO.searchNm }" /></td>
<th>주민등록번호</th>
<td><input type="text" id="searchInhbtntNo" name="searchInhbtntNo" onkeypress="javascript:return wfwInhbtntDashFormat(this);" style="ime-mode:disabled" class="middle" maxlength="28" value="${lmLa2010SearchVO.searchInhbtntNo }" /></td>
</tr>
<tr>
<th>관할관청</th>
<td colspan="5">
<select id="searchPstinst" name="searchPstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmLa2010SearchVO.searchPstinst}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:goRegistStart();"><strong><span>임시면허 등록</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:goLmgm0010();"><strong><span>임시면허 차고지 등록</span></strong></a>
<span style="color:red;font-weight:bold;background-image:none;">*임시면허 등록을 완료한 후 차고지 등록을 해주세요.*</span>
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1, true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<h3>임시면허 목록<span class="explain">[총 건수 : <strong>${lmLa2010SearchVO.totalCount}</strong>건]</span></h3>
<div class="scroll c_both"> <!-- 스크롤 CSS 추가 -->
<div class="table02">
<table id="list" name="list">
<caption>면허 목록</caption>
<colgroup>
<col width="100" />
<col width="100" />
<col width="100" />
<col width="150" />
<col width="130" />
<col width="300" />
<col width="100" />
<col width="100" />
<col width="100" />
</colgroup>
<thead>
<tr>
<th>업종</th>
<th>임시면허번호</th>
<th>임시차량번호</th>
<th>사업자명</th>
<th>주민/법인 번호</th>
<th>주소</th>
<th>차고지명</th>
<th>관할관청</th>
<th>담당자</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty lmla2010list}">
<c:forEach var="lmla2010list" items="${lmla2010list}" varStatus="status">
<tr onclick="javascript:fnView('${lmla2010list.tmprLcnsNo}', this);" style="cursor:pointer;" >
<td class="textC">${lmla2010list.indutyNm}</td>
<td class="textC">${lmla2010list.tmprLcnsNo}</td>
<td class="textC">${lmla2010list.tmprVhcleNo}</td>
<td class="textC">${lmla2010list.nm}</td>
<td class="textC">${tbms_fn:printIhidnum2(lmla2010list.inhbtntNo)}</td>
<td class="textC">${lmla2010list.postNo} ${lmla2010list.adres}</td>
<td class="textC">${lmla2010list.garageNm}</td>
<td class="textC">${lmla2010list.cmptncGrcNm }</td>
<td class="textC">${lmla2010list.updusr }</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:if test="${lmLa2010SearchVO.searchYn == 'Y'}">
<tr><td colspan="9" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:if>
<c:if test="${lmLa2010SearchVO.searchYn != 'Y' }">
<tr><td colspan="9" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:if>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<p class="mt10">목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1, true, true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}" type="tbms" jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
}
});
});
/* 목록 조회 */
function fnSearch(pageNo, button, listChk) {
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
if('${lmla2010list}' == ''){
return false;
}
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '/lm/la/20/list.do');
}
/*
* 상세보기로 이동
*/
function fnView(tmprLcnsNo, obj) {
wfwTrSelected(obj); /*선택로우색변경 */
$('#tmprLcnsNo').val(tmprLcnsNo);
wfwSubmit('form', '/lm/la/20/goDetail.do');
}
/*
* 임시면허등록
*/
function goRegistStart() {
wfwSubmit('form', '/lm/la/20/goRegistStart.do');
}
/*
* 초기화
*/
function fnReset(){
$('#searchIndutyCode').val('');
$('#searchNm').val('');
$('#searchInhbtntNo').val('');
}
/**
* 차고지등록으로 이동
*/
function goLmgm0010(){
wfwSubmit('form', '/lm/gm/00/goRegistStart.do');
}
/*
* 엔터클릭시 조회
*/
function fnEnter(e){
if( e.keyCode == 13 ){
fnSearch(1, true);
}
}
</script>

@ -0,0 +1,163 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa2010SearchVO">
<input type="hidden" id="searchIndutyCode" name="searchIndutyCode" value="${lmLa2010SearchVO.searchIndutyCode}" />
<input type="hidden" id="searchYn" name="searchYn" value="Y" />
<input type="hidden" id="tmprLcnsNo" name="tmprLcnsNo" value="${tmprLcnsDetail.tmprLcnsNo}"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>임시면허관리</span>
</p>
<h2>임시면허상세</h2>
<h3>상세정보</h3>
<div class="table01">
<table>
<caption>상세정보</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th>임시면허번호</th>
<td colspan="3">${tmprLcnsDetail.tmprLcnsNo}</td>
</tr>
<tr>
<th>업종</th>
<td>${tmprLcnsDetail.indutyNm}</td>
<th>임시등록사유</th>
<td>${tmprLcnsDetail.tmprRegistResnNm}</td>
</tr>
<tr>
<th>사업자명</th>
<td>${tmprLcnsDetail.nm}</td>
<th>주민(법인)등록번호</th>
<td>${tbms_fn:printIhidnum2(tmprLcnsDetail.inhbtntNo)}</td>
</tr>
<tr>
<th>임시차량번호</th>
<td>${tmprLcnsDetail.tmprVhcleNo}</td>
<th>임시사업허가번호</th>
<td>${tmprLcnsDetail.tmprBsnsPrmisnNo}</td>
</tr>
<tr>
<th>주소</th>
<td colspan="3">(${tmprLcnsDetail.postNo}) ${tmprLcnsDetail.adres} ${tmprLcnsDetail.detailAdres}</td>
</tr>
<tr>
<th>전화번호</th>
<td>${tmprLcnsDetail.tlphonNo}</td>
<th>최대적재량</th>
<td>${tbms_fn:maskNumber(tmprLcnsDetail.mxmmLdadngqy, 3)}</td>
</tr>
<tr>
<th>길이</th>
<td>${tbms_fn:maskNumber(tmprLcnsDetail.lt2, 3)}</td>
<th>너비</th>
<td>${tbms_fn:maskNumber(tmprLcnsDetail.bt, 3)}</td>
</tr>
<tr>
<th>관할관청</th>
<td>${tmprLcnsDetail.cmptncGrcNm}</td>
<th>담당자</th>
<td>${tmprLcnsDetail.updusr}(${tmprLcnsDetail.updtDt })</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3">${tmprLcnsDetail.rm}</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmla20_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:goUpdateStart('${tmprLcnsDetail.tmprLcnsNo}');"><strong><span>수정</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnGoDelete();"><strong><span>삭제</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'confirmDeleteDialog', '확인', 400, null, { // 삭제확인 dialog
'삭제' : function () {
$(this).dialog('close');
goDelete();
},
'취소' : function () {
$(this).dialog('close');
}
});
});
/* 목록으로 이동 */
function lmla20_list() {
wfwSubmit('form','/lm/la/20/list.do');
}
/* 수정화면으로 이동 */
function goUpdateStart(tmprLcnsNo){
$('#tmprLcnsNo').val(tmprLcnsNo);
wfwSubmit('form','/lm/la/20/goUpdateStart.do');
}
/* 임시면허 삭제 */
function goDelete(){
$.ajax({
url : '<c:url value="/lm/la/20/ajaxDelete.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료삭제에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '자료가 삭제 되었습니다.');
lmla20_list();
} else {
openDialog('errorDialog', '자료삭제에 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
function fnGoDelete(){
openDialog('confirmDeleteDialog', "현재 임시 면허를 삭제하시겠습니까?");
}
</script>

@ -0,0 +1,731 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa3010InsertVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="prkplceId" name="prkplceId" />
<input type="hidden" id="rentSeVal" name="rentSeVal" />
<input type="hidden" id="garageSe" name="garageSe" value="4"/>
<input type="hidden" id="changeResnCode" name="changeResnCode" value="01" />
<input type="hidden" id="cntrctAlge" name="cntrctAlge"/>
<input type="hidden" id="checkModify" name="checkModify" value="N"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>자가용화물차 차고지 관리</span>
</p>
<h2>자가용화물차 차고지 등록</h2>
<h3>소유자 정보</h3>
<div class="table01">
<table>
<caption>소유자정보 테이블</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>소유자명(법인명)</th>
<td><input type="text" id="owner" name="owner" class="min" maxlength="50"/></td>
<th><span>*</span>주민등록번호(법인등록번호)</th>
<td><input type="text" id="inhbtntNo" name="inhbtntNo" size="18" onkeypress="javascript:return wfwInhbtntDashFormat(this);" style="ime-mode:disabled" maxlength="14" /></td>
</tr>
<tr>
<th><span>*</span>대표자명</th>
<td><input type="text" id="rprsntvNm" name="rprsntvNm" class="min" maxlength="30"/></td>
<th><span>*</span>관할관청</th>
<td>
<select id="cmptncGrc" name="cmptncGrc">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}">${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td colspan="3">
<input type="text" id="postNo2" name="postNo2" size="7" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7" />
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo2','adres2','detailAdres2');"><span>검색</span></a>
<input type="text" id="adres2" name="adres2" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th>상세주소</th>
<td colspan="3"><input type="text" id="detailAdres2" name="detailAdres2" size="118" maxlength="300"/></td>
</tr>
<tr>
<th>전화번호</th>
<td><input type="text" id="tlphon" name="tlphon" size="17" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" style="ime-mode:disabled" maxlength="13" /></td>
<th>최대적재량</th>
<td><input type="text" id="ldadngqy" name="ldadngqy" size="17" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10" /></td>
</tr>
<tr>
<th>차량번호</th>
<td><input type="text" id="vhcleNo" name="vhcleNo" size="17" maxlength="16" /><a href="#" class="btn-search ml10" onclick="javascript:fnVhcleNo();"><span>검색</span></a></td>
<th>차명</th>
<td><input type="text" id="brwdnm" name="brwdnm" size="20" maxlength="20" /></td>
</tr>
<tr>
<th><span>*</span>차대번호</th>
<td><input type="text" id="atmblrgeNo" name="atmblrgeNo" size="25" maxlength="17" /></td>
<th>길이</th>
<td><input type="text" id="lt" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" class="small" maxlength="12"/></td>
</tr>
<tr>
<th>너비</th>
<td colspan="3"><input type="text" id="bt" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" class="small" maxlength="12"/></td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea id="rm2" name="rm2" class="max" maxlength="500"></textarea></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="combine">
<h3>차고지 정보</h3>
<div class="table01">
<table>
<caption>차고지 내역 입력 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>차고지 분류</th>
<td>
<select name="codeNm" id="codeNm" style="width:40%">
<option value=""> == 선택 ==</option>
<c:forEach items="${parntsCodeList}" var="parntsCodeList" varStatus="status">
<option value="${parntsCodeList.code}">${parntsCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
<th>차고지명</th>
<td><input type="text" id="garageNm" name="garageNm" size="20" maxlength="50"/></td>
</tr>
<tr>
<th>주차장명</th>
<td><input type="text" id="prkplceNm" name="prkplceNm" size="20" maxlength="50" /><a href="#" class="btn-search ml10" onclick="javascript:fnOpenSmCo08Pop();return false;"><span>검색</span></a>
<span style="color:red;font-weight:bold;">*주차장검색을 사용하지 않는 경우 주차장명 입력시 오류에 원인이 됩니다.*</span>
</td>
<th>임대여부</th>
<td><input type="checkbox" id="rentSe" name="rentSe" class="check" style="border: 0"/></td>
</tr>
<tr>
<th><span>*</span>인가대수</th>
<td><input type="text" id="cnfmAlge" name="cnfmAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대</td>
<th>대지면적</th>
<td><input type="text" id="plotAr" name="plotAr" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="9"/> m²</td>
</tr>
<tr>
<th><span>*</span>주차규모(대수)</th>
<td><input type="text" id="parkngAlge" name="parkngAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
</td>
<th><span>*</span>가용대수</th>
<!-- <td><input type="text" id="cntrctAlge" name="cntrctAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대</td> -->
<td><input type="text" id="usefulAlge" name="usefulAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
</td>
</tr>
<tr>
<th><span>*</span>차고지 주소</th>
<td colspan="3">
<input type="text" id="postNo" name="postNo" class="1" size="7" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7"/>
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo','adres','detailAdres');"><span>검색</span></a>
<input type="text" id="adres" name="adres" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th><span>*</span>상세 주소</th>
<td colspan="3"><input type="text" id="detailAdres" name="detailAdres" size="118" /></td>
</tr>
<tr>
<th><span>*</span>차고지 관할관청</th>
<td colspan="3">
<select id="garageCmptncGrc" name="garageCmptncGrc">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}">${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>등록일자</th>
<td><input Type="text" Id="garageRegistDe" Name="garageRegistDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
<th>문서번호</th>
<td><input type="text" id="etydoorNo" name="etydoorNo" size="17" maxlength="50"/></td>
</tr>
<tr>
<th>인가기간</th>
<td>
<input type="text" id="cnfmBeginDe" name="cnfmBeginDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/> ~ <input type="text" id="cnfmEndDe" name="cnfmEndDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/>
<span style="color:blue;vertical-align:middle">&nbsp;전출시까지</span><input type="checkbox" id="cnfmJend" name="cnfmJend" class="check" value="Y" style="border:0"/>
</td>
<td colspan="2">
<span style="color:red;font-weight:bold;">*인가종료일이 전출시까지인 경우 전출시까지 체크!</span>
</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea type="text" id="rm" name="rm" class="max"></textarea></td>
</tr>
</tbody>
</table>
</div>
<!-- layer pop -->
<!-- //layer pop -->
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmla30_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" id="btnSave" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>등록</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<!-- layer pop -->
<div class="mw_layer" id="layerCarInfo" >
<form id="saveForm" name="saveForm" method="post" action="">
<input type="hidden" name="lcnsNo" value=""/>
<input type="hidden" name="buzplcManageId"/>
<input type="hidden" name="preparVhcleAt" />
<!-- 팝업 영역 시작-->
<div class="popWrap" style="height:520px !important;">
<!-- 팝업 header -->
<div class="pop-header" id="layerCarInfoHeader">
<h1><strong>차적 조회 결과</strong></h1>
<a href="#layer_anchor" class="close" title="닫기" onclick="javascript:$.unblockUI();">닫기</a>
</div>
<!-- //팝업 header -->
<!-- 팝업 body -->
<div class="pop-body" style="height:400px !important;">
<div class="table01">
<table>
<caption>차적 조회 결과</caption>
<colgroup>
<col width="18%" />
<col width="" />
<col width="18%" />
<col width="" />
</colgroup>
<tbody>
<%-- TODO 차적조회 I/F 연동 후 모든 항목을 readonly로 전환 할 것. --%>
<tr>
<th>차량번호</th>
<td>
<input type="hidden" name="vhcleNoPre"/>
<input type="hidden" name="vhcleNoRr"/>
<input type="text" id="vhcleNo" name="vhcleNo" readonly="readonly"/>
</td>
<th>대표소유자</th>
<td><input type="text" id="MBER_NM"/></td>
</tr>
<tr>
<th>차량최초등록일</th>
<td><input type="text" id="FRST_REGIST_DE"/></td>
<th>차령만료일</th>
<td><input type="text" id="CAAG_ENDDE"/></td>
</tr>
<tr>
<th>등록일(변경일)</th>
<td><input type="text" id="REGIST_DE" name="vhcleRegistDe"/></td>
<th>이전등록(양수일)</th>
<td><input type="text" id="TRANSR_REGIST_DE" name="transrRegistDe"/></td>
</tr>
<tr>
<th>취득일자</th>
<td><input type="text" id="ACQS_DE"/></td>
<th>이전차량번호</th>
<td><input type="text" id="FRNT_VHRNO" name="bfchgVhcleno"/></td>
</tr>
<tr>
<th>차명</th>
<td><input type="text" id="CNM" name="brwdnm"/></td>
<th>용도구분</th>
<td><input type="text" id="PRPOS_SE_CODE"/></td>
</tr>
<tr>
<th>형식</th>
<td><input type="text" id="FOM_NM"/></td>
<th>연식</th>
<td><input type="text" id="PRYE"/></td>
</tr>
<tr>
<th>차대번호</th>
<td><input type="text" id="VIN" name="atmblrgeNo"/></td>
<th>차종종별명</th>
<td><input type="text" id="VHCTY_ASORT_NM" name="vhctyAsortNm"/></td>
</tr>
<tr>
<th>차종유형명</th>
<td><input type="text" id="VHCTY_TY_NM" name="vhctyTyNm"/></td>
<th>차종분류명</th>
<td><input type="text" id="VHCTY_SE_NM" name="vhctyClNm"/></td>
</tr>
<tr>
<th>연료구분</th>
<td><input type="text" id="USE_FUEL_CODE" name="vhcleFuelSe"/></td>
<th>최대적재량</th>
<td><input type="text" id="MXMM_LDG" name="mxmmLdadngqy"/></td>
</tr>
<tr>
<th>승차정원</th>
<td><input type="text" id="TKCAR_PSCAP_CO" name="tkcarPsncpa"/></td>
<th>재원등록상태</th>
<td><input type="text" id="SPCF_REGIST_STTUS_CODE" name="vhcleSttusCode"/></td>
</tr>
<tr>
<th>소유자주소</th>
<td><input type="text" id="OWNER_ADRES_FULL" name=""/></td>
<th>색상명</th>
<td><input type="text" id="COLOR_NM" name=""/></td>
</tr>
<tr>
<th>사용본거지 주소</th>
<td colspan="3"><input type="text" id="" name=""/></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- //팝업 body -->
<!-- 버튼 -->
<div class="btn ar area">
<!-- <a href="#" class="btn-b" onclick="javascript:fnSave2();"><strong><span>확인</span></strong></a> -->
<a href="#layer_anchor" class="btn-w close" onclick="javascript:$.unblockUI();"><strong><span>닫기</span></strong></a>
</div>
<!-- // 버튼 -->
</div>
<!-- //팝업 영역 끝 -->
</form>
</div>
<!-- //layer pop -->
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco08.js"/>"></script>
<div id="smco08_pop" class="mw_layer"></div>
<script type="text/javascript">
$(document).ready(function () {
// 팝업 이동가능하도록
$('#layerCarInfo').draggable({ handle : $('#layerCarInfoHeader'), scroll: false });
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
$.unblockUI();
}
});
initDatePicker('cnfmBeginDe');
initDatePicker('cnfmEndDe');
initDatePicker('garageRegistDe');
});
/* 목록으로 이동 */
function lmla30_list() {
$("#searchYn").val('N');
wfwSubmit('form','/lm/la/30/list.do');
}
/**
* 차량번호 조회
*/
function fnVhcleNo() {
// 차량번호 입력 확인
if(!checkLength('vhcleNo', 1, 9)){
openDialog('errorDialog', "차량번호<spring:message code='WFCO205'/>", null, 'vhcleNo');
return false;
}
var vhcleNo = $('#vhcleNo').val();
// 1. 차적조회
$.ajax({
url : '<c:url value="/lm/cmmn/ajaxFindVhcle.do"/>',
type : 'post',
async : true,
traditional : true,
data : {
searchVhcleNo : vhcleNo
},
beforeSend : function (jqXHR, settings) {
$.blockUI({ message : $('<div/>').html('차적조회중') });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('infoDialog', "<b>관리자에게 문의바랍니다</b><br><br>"+jqXHR.responseText);
$.unblockUI();
},
success : function (data, textStatus, jqXHR) {
var eaiResponse_rs = data.eaiResponse_rs;
if (eaiResponse_rs && eaiResponse_rs.length > 0) {
$('#brwdnm').val(eaiResponse_rs[0].cnm); //차명
$('#ldadngqy').val(eaiResponse_rs[0].mxmm_LDG); //쵀대적재량
$('#atmblrgeNo').val(eaiResponse_rs[0].vin); //차대번호
$('#lt').val(eaiResponse_rs[0].cbd_LT); //길이
$('#bt').val(eaiResponse_rs[0].cbd_DT); //너비
$('#MBER_NM').val(eaiResponse_rs[0].mber_NM);
$('#FRST_REGIST_DE').val(eaiResponse_rs[0].frst_REGIST_DE);
$('#CAAG_ENDDE').val(eaiResponse_rs[0].caag_ENDDE);
$('#REGIST_DE').val(eaiResponse_rs[0].regist_DE);
$('#TRANSR_REGIST_DE').val(eaiResponse_rs[0].transr_REGIST_DE);
$('#ACQS_DE').val(eaiResponse_rs[0].acqs_DE);
$('#FRNT_VHRNO').val(eaiResponse_rs[0].frnt_VHRNO);
$('#CNM').val(eaiResponse_rs[0].cnm);
$('#PRPOS_SE_CODE').val(eaiResponse_rs[0].prpos_SE_CODE);
$('#FOM_NM').val(eaiResponse_rs[0].fom_NM);
$('#PRYE').val(eaiResponse_rs[0].prye);
$('#VIN').val(eaiResponse_rs[0].vin);
$('#VHCTY_ASORT_NM').val(eaiResponse_rs[0].vhcty_ASORT_NM);
$('#VHCTY_TY_NM').val(eaiResponse_rs[0].vhcty_TY_NM);
$('#VHCTY_SE_NM').val(eaiResponse_rs[0].vhcty_SE_NM);
$('#USE_FUEL_CODE').val(eaiResponse_rs[0].use_FUEL_CODE);
$('#MXMM_LDG').val(eaiResponse_rs[0].mxmm_LDG);
$('#TKCAR_PSCAP_CO').val(eaiResponse_rs[0].tkcar_PSCAP_CO);
$('#SPCF_REGIST_STTUS_CODE').val(eaiResponse_rs[0].spcf_REGIST_STTUS_CODE);
$('#OWNER_ADRES_FULL').val(eaiResponse_rs[0].owner_ADRES_FULL);
$('#COLOR_NM').val(eaiResponse_rs[0].color_NM);
$('input[name=vhcleNo]', '#saveForm').val(vhcleNo);
$.unblockUI({
onUnblock: function() {
// 3. open 레이어
$.blockUI({ message : $('#layerCarInfo') });
}
});
} else {
openDialog('infoDialog', "<b>관리자에게 문의바랍니다</b><br><br>"+jqXHR.responseText);
$.unblockUI();
}
}
});
}
/* 면허번호 상세조회*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId) {
$('#lcnsNo').val(lcnsNo);
}
/*
* 입력값 검증
*/
function fnValidateValues() {
// 소유자명
if(lengthKor('owner') == 0){
openDialog('errorDialog', '소유자명을 입력하세요.', null, 'owner');
return false;
}else if(lengthKor('owner') > 50){
openDialog('errorDialog', '소유자명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('owner')+')', null, 'owner');
return false;
}
if(lengthKor('rprsntvNm') == 0){
openDialog('errorDialog', '대표자명을 입력하세요.', null, 'rprsntvNm');
return false;
}else if(lengthKor('rprsntvNm') > 30){
openDialog('errorDialog', '대표자명을 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('rprsntvNm')+')', null, 'rprsntvNm');
return false;
}
// 주민번호 --사업자등록번호 10자리 입력가능하도록 입력값 제외(서울시등 구청 관용차량 등록한다고함. 고유번호 사업자등록번호와 같이 10자리)
// 10자리 또는 13자리만 입력 가능하도록 입력값 체크
if (!checkInhbtnt('inhbtntNo')) {
openDialog('errorDialog', '주민(법인)등록번호 또는 사업자등록번호 자리수가 맞지 않습니다.<br>다시 입력하십시오.', null, 'inhbtntNo');
return false;
}
// 우편번호
if (isEmpty('postNo2')) {
openDialog('errorDialog', '우편번호를 선택하세요.', null, 'postNo2');
return false;
}
// 주소
if(lengthKor('adres2') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres2');
return false;
}else if(lengthKor('adres2') > 50){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres2')+')', null, 'adres2');
return false;
}
// 상세주소
/* if(lengthKor('detailAdres2') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'detailAdres2');
return false;
}else if(lengthKor('detailAdres2') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres2')+')', null, 'detailAdres2');
return false;
} */
/* // 전화번호
if (!checkTelno('tlphon')) {
openDialog('errorDialog', '전화번호를 정확히 입력하세요.', null, 'tlphon');
return false;
} */
/*
// 적재량
if (isEmpty('ldadngqy')) {
openDialog('errorDialog', '최대적재량을 입력하세요.', null, 'ldadngqy');
return false;
}
*/
/* //차량번호
if (isEmpty('vhcleNo')) {
openDialog('errorDialog', '차량번호를 선택하세요.', null, 'vhcleNo');
return false;
} */
/* //차대번호
if (isEmpty('atmblrgeNo')) {
openDialog('errorDialog', '차대번호를 입력하세요.', null, 'atmblrgeNo');
return false;
} */
/*
// 길이
if (isEmpty('lt')) {
openDialog('errorDialog', '길이를 입력하세요..', null, 'lt');
return false;
}
// 너비
if (isEmpty('bt')) {
openDialog('errorDialog', '너비를 입력하세요.', null, 'bt');
return false;
}
*/
// 차고지분류
if (isEmpty('codeNm')) {
openDialog('errorDialog', '차고지분류를 선택하세요.', null, 'codeNm');
return false;
}
/*
// 차고지명
if(lengthKor('garageNm') == 0){
openDialog('errorDialog', '차고지명을 입력하세요.', null, 'garageNm');
return false;
}else if(lengthKor('garageNm') > 50){
openDialog('errorDialog', '차고지명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('garageNm')+')', null, 'garageNm');
return false;
}
*/
// 주차장 주차 대수
if (isEmpty('parkngAlge')) {
openDialog('errorDialog', '주차장 주차 대수를 숫자로 입력하세요.', null, 'parkngAlge');
return false;
}
// 주차장 가용 대수
if (isEmpty('usefulAlge')) {
openDialog('errorDialog', '주차장 가용 대수를 숫자로 입력하세요.', null, 'usefulAlge');
return false;
}
// 인가대수
if (isEmpty('cnfmAlge')) {
openDialog('errorDialog', '인가대수를 입력하세요.', null, 'cnfmAlge');
return false;
}
/*
// 대지면적
if (isEmpty('plotAr')) {
openDialog('errorDialog', '대지면적을 입력하세요.', null, 'plotAr');
return false;
}
*/
// 우편번호
if (isEmpty('postNo')) {
openDialog('errorDialog', '우편번호를 선택하세요.', null, 'postNo');
return false;
}
// 주소
if(lengthKor('adres') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres');
return false;
}else if(lengthKor('adres') > 50){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres')+')', null, 'adres');
return false;
}
// 상세주소
if(lengthKor('detailAdres') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'detailAdres');
return false;
}else if(lengthKor('detailAdres') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres')+')', null, 'detailAdres');
return false;
}
// 등록일
if(!checkDate('garageRegistDe')) {
openDialog('errorDialog', '등록일자을 선택하세요.', null, 'garageRegistDe');
return false;
}
// 소유자 관할관청
if(isEmpty('cmptncGrc')) {
openDialog('errorDialog', '소유자 관할관청을 선택하세요.', null, 'cmptncGrc');
return false;
}
if(isEmpty('garageCmptncGrc')) {
openDialog('errorDialog', '차고지 관할관청을 선택하세요.', null, 'garageCmptncGrc');
return false;
}
/* // 인가시작
if (!checkDate('cnfmBeginDe')) {
openDialog('errorDialog', '인가시작일을 선택하세요.', null, 'cnfmBeginDe');
return false;
} */
/*
// 인가종료
if (!checkDate('cnfmEndDe')) {
openDialog('errorDialog', '인가종료일을 선택하세요.', null, 'cnfmEndDe');
return false;
}
*/
if(jQuery('#rentSe').is(":checked")){
$('#rentSeVal').val("Y");
}
/*
// 문서번호
if(lengthKor('etydoorNo') == 0){
openDialog('errorDialog', '문서번호를 입력하세요.', null, 'etydoorNo');
return false;
}else if(lengthKor('etydoorNo') > 50){
openDialog('errorDialog', '문서번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('etydoorNo')+')', null, 'etydoorNo');
return false;
}
*/
openDialog('confirmSaveDialog', '자료를 등록 하시겠습니까?');
}
/* 등록 */
function fnSave(){
/** '-', ',', '.' 제거 */
removeSpecific('cnfmAlge');
removeSpecific('parkngAlge');
removeSpecific('usefulAlge');
removeSpecific2('plotAr');
removeSpecific('postNo');
removeSpecific('postNo2');
if(isEmpty('plotAr')){
$('#plotAr').val(0);
}
if($('#prkplceNm').val() == null || $('#prkplceNm').val() == ""){ //주차장 검색 사용하지 않으면
// alert("g:"+$('#garageCnfmCntrctAlge').val());
$('#cntrctAlge').val($('#cnfmAlge').val());
}
$.ajax({
url : '<c:url value="/lm/la/30/ajaxInsertStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료등록에 실패하였습니다. 오류코드 1');
console.log("1 status: " + jqXHR.status);
console.log("1 responseText" + jqXHR.responseText);
console.log("1 errorThrown" + errorThrown);
},
success : function (data, textStatus, jqXHR) {
if (data.result == true) {
openDialog('insertDialog', '자료가 등록 되었습니다.');
}else if (data.result == "duplicate") {
openDialog('errorDialog', '차량번호('+data.checkDuplicateVhcleNoInfo.vhcleNo +')의 차고지가 최근 10분전에 등록 되어있습니다. 중복등록을 확인하세요.');
}
else {
var rText = jqXHR.responseText;
var notAuth = rText.includes("WFCOGL003");
if(notAuth) {
openDialog('errorDialog', '자료 등록 권한이 없습니다.');
return;
}
openDialog('errorDialog', '자료등록에 실패하였습니다. 오류코드 2');
console.log("2 status: " + jqXHR.status);
console.log("2 responseText" + jqXHR.responseText);
console.log("2 errorThrown" + errorThrown);
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/** 초기화 */
function fnReset(){
$('#form')[0].reset();
$('#entrpsNm').text("");
$('#cprInhbtntRegistNo').text("");
$('#rprsntvNm').text("");
$('#rprsntvInhbtntRegistNo').text("");
$('#useStrnghldAdres').text("");
}
/** 주차장명 팝업 */
function fnSmCo08Callback(prkplceNm, prkplceId, parkngAlge, adres, detailAdres, postNo, prkplceAr, usefulAr, usefulAlge, cntrctAlge){
$('#prkplceNm').val(prkplceNm);
$('#prkplceId').val(prkplceId);
$('#parkngAlge').val(autoComma(parkngAlge));
$('#adres').val(adres);
$('#detailAdres').val(detailAdres);
$('#postNo').val(postNo);
$('#plotAr').val(autoComma(prkplceAr));
$('#plotAr2').val(autoComma(prkplceAr));
$('#usefulAr').val(autoComma(usefulAr));
$('#usefulAlge').val(usefulAlge);
$('#cntrctAlge').val(cntrctAlge);
}
function checkInhbtnt(objectId) {
var value = trim(objectId);
value = value.replace(/[\-\.\,\:]/gi, '');
if ((!isNaN(value) && value.length == 10)||(!isNaN(value) && value.length == 13)) {
return true;
} else {
false;
}
}
</script>

@ -0,0 +1,748 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa3010InsertVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="rentSeVal" name="rentSeVal" />
<input type="hidden" id="tempValBt" name="tempValBt" />
<input type="hidden" id="tempValLt" name="tempValLt" />
<input type="hidden" id="prkplceId" name="prkplceId" value="${garageDetail.prkplceId}" />
<input type="hidden" id="garageSe" name="garageSe" value="4"/>
<input type="hidden" id="garageId" name="garageId" value="${garageDetail.garageId}" />
<input type="hidden" id="pvtuseManageId" name="pvtuseManageId" value="${pvtuseDetail.pvtuseManageId}"/>
<input type="hidden" id="checkModify" name="checkModify" value="N"/>
<input type="hidden" id="preGarageCnfmCntrctAlge" name="preGarageCnfmCntrctAlge" value="${garageDetail.cnfmAlge}"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>자가용화물차 차고지 관리</span>
</p>
<h2>자가용화물차 차고지 수정</h2>
<h3>소유자 정보</h3>
<div class="table01">
<table>
<caption>소유자정보 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>소유자명</th>
<td><input type="text" id="owner" name="owner" size="20" value="${pvtuseDetail.owner}" maxlength="50"/></td>
<th><span>*</span>주민등록번호(법인등록번호)</th>
<td><input type="text" id="inhbtntNo" name="inhbtntNo" size="18" value="${tbms_fn:printIhidnum2(pvtuseDetail.inhbtntNo)}" onkeypress="javascript:return wfwInhbtntDashFormat(this);" style="ime-mode:disabled" maxlength="14" /></td>
</tr>
<tr>
<th><span>*</span>대표자명</th>
<td><input type="text" id="rprsntvNm" name="rprsntvNm" class="min" maxlength="30" value="${pvtuseDetail.rprsntvNm}"/></td>
<th><span>*</span>관할관청</th>
<td>
<select id="cmptncGrc" name="cmptncGrc">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == pvtuseDetail.cmptofc}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td colspan="3">
<input type="text" id="postNo2" name="postNo2" size="7" value="${pvtuseDetail.postNo2}" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7" />
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo2','adres2','detailAdres2');"><span>검색</span></a>
<input type="text" id="adres2" name="adres2" value="${pvtuseDetail.adres}" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th>상세주소</th>
<td colspan="3"><input type="text" id="detailAdres2" name="detailAdres2" value="${pvtuseDetail.detailAdres}" size="118" maxlength="300"/></td>
</tr>
<tr>
<th>전화번호</th>
<td><input type="text" id="tlphon" name="tlphon" size="17" value="${pvtuseDetail.tlphon}" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" style="ime-mode:disabled" maxlength="13" /></td>
<th>최대적재량</th>
<td><input type="text" id="ldadngqy" name="ldadngqy" size="17" value="${pvtuseDetail.ldadngqy}" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10" /></td>
</tr>
<tr>
<th>차량번호</th>
<td><input type="text" id="vhcleNo" name="vhcleNo" size="17" value="${pvtuseDetail.vhcleNo}" maxlength="16" /><a href="#" class="btn-search ml10" onclick="javascript:fnVhcleNo();"><span>검색</span></a></td>
<th>차명</th>
<td><input type="text" id="brwdnm" name="brwdnm" size="20" value="${pvtuseDetail.brwdnm}" maxlength="20" /></td>
</tr>
<tr>
<th>차대번호</th>
<td><input type="text" id="atmblrgeNo" name="atmblrgeNo" value="${pvtuseDetail.atmblrgeNo}" size="25" maxlength="17" /></td>
<th>길이</th>
<td><input type="text" id="lt" size="17" value="${pvtuseDetail.gili}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" class="small" maxlength="12"/></td>
</tr>
<tr>
<th>너비</th>
<td colspan="3"><input type="text" id="bt" size="17" value="${pvtuseDetail.bt}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" class="small" maxlength="12"/></td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea id="rm2" name="rm2" class="max" maxlength="500">${pvtuseDetail.owner}</textarea></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="combine">
<h3>차고지 정보</h3>
<div class="table01">
<table>
<caption>차고지 내역 입력 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>차고지 분류</th>
<td>
<select name="codeNm" id="codeNm" style="width:40%">
<option value=""> == 선택 ==</option>
<c:forEach items="${parntsCodeList}" var="parntsCodeList" varStatus="status">
<option value="${parntsCodeList.code}"<c:if test="${garageDetail.garageClCode == parntsCodeList.code}">selected="selected"</c:if>>${parntsCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
<th>차고지명</th>
<td><input type="text" id="garageNm" name="garageNm" size="20" value="${garageDetail.garageNm}" maxlength="50"/></td>
</tr>
<tr>
<th>주차장명</th>
<td><input type="text" id="prkplceNm" name="prkplceNm" value="${tempPrkplceNm}" size="20" maxlength="50" /><a href="#" class="btn-search ml10" onclick="javascript:fnOpenSmCo08Pop();return false;"><span>검색</span></a>
<span style="color:red;font-weight:bold;">*주차장검색을 사용하지 않는 경우 주차장명 입력시 오류에 원인이 됩니다.*</span>
</td>
<th>변경사유</th>
<td>
<select id="changeResnCode" name="changeResnCode">
<option value="">== 선택 ==</option>
<c:forEach items="${changeResnCode}" var="changeResnCode" varStatus="status">
<option value="${changeResnCode.code}">${changeResnCode.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>인가대수</th>
<td><input type="text" id="cnfmAlge" name="cnfmAlge" size="17" value="${tbms_fn:maskNumber(garageDetail.cnfmAlge, 3)}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대</td>
<th>대지면적</th>
<td><input type="text" id="plotAr" name="plotAr" size="17" value="${tbms_fn:maskNumber(garageDetail.prkplceAr, 3)}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="9"/> m²</td>
</tr>
<c:choose>
<c:when test="${garageDetail.prkplceId eq null }">
<tr>
<th><span>*</span>주차규모(대수)</th>
<td><input type="text" id="parkngAlge" name="parkngAlge" size="17" value="${garageDetail.cnfmAlge}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
</td>
<th><span>*</span>가용대수</th>
<%-- <td><input type="text" id="cntrctAlge" name="cntrctAlge" size="17" value="${tbms_fn:maskNumber(garageDetail.cntrctAlge, 3)}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대</td> --%>
<td><input type="text" id="usefulAlge" name="usefulAlge" size="17" value="${garageDetail.cnfmAlge}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
<input type="hidden" id="cntrctAlge" name="cntrctAlge" /><!-- 주차장 계약 대수 -->
</td>
</tr>
</c:when>
<c:otherwise>
<tr>
<th>주차규모(대수)</th>
<td><input type="text" id="parkngAlge" name="parkngAlge" size="17" value="${tbms_fn:maskNumber(prkplceDetail.parkngAlge, 3)}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
</td>
<th>가용대수</th>
<%-- <td><input type="text" id="cntrctAlge" name="cntrctAlge" size="17" value="${tbms_fn:maskNumber(garageDetail.cntrctAlge, 3)}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대</td> --%>
<td><input type="text" id="usefulAlge" name="usefulAlge" size="17" value="${tbms_fn:maskNumber(prkplceDetail.usefulAlge, 3)}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
<input type="hidden" id="cntrctAlge" name="cntrctAlge" value="${prkplceDetail.cntrctAlge }"/><!-- 주차장 계약 대수 -->
</td>
</tr>
</c:otherwise>
</c:choose>
<tr>
<th><span>*</span>차고지 주소</th>
<td colspan="3">
<input type="text" id="postNo" name="postNo" size="7" value="${garageDetail.postNo2}" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7"/>
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo','adres','detailAdres');"><span>검색</span></a>
<input type="text" id="adres" name="adres" value="${garageDetail.adres}" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th>상세 주소</th>
<td colspan="3"><input type="text" id="detailAdres" name="detailAdres" value="${garageDetail.detailAdres}"size="118" /></td>
</tr>
<tr>
<th><span>*</span>차고지 관할관청</th>
<td colspan="3">
<select id="garageCmptncGrc" name="garageCmptncGrc">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${garagePstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == garageDetail.cmptncGrc}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>등록일자</th>
<td><input Type="text" Id="garageRegistDe" Name="garageRegistDe" value="${garageDetail.garageRegistDe}" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
<th>인가기간</th>
<td><input type="text" id="cnfmBeginDe" name="cnfmBeginDe" value="${tbms_fn:printDate(garageDetail.cnfmBeginDe)}" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/> ~ <input type="text" id="cnfmEndDe" name="cnfmEndDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" value="${tbms_fn:printDate(garageDetail.cnfmEndDe)}" style="ime-mode:disabled" maxlength="10"/>
<span style="color:blue;vertical-align:middle">&nbsp;전출시까지</span><input type="checkbox" id="cnfmJend" name="cnfmJend" class="check" value="Y" style="border:0"/>
</td>
</tr>
<tr>
<th>임대여부</th>
<td><input type="checkbox" id="rentSe" name="rentSe" class="check" style="border: 0"/></td>
<th>문서번호</th>
<td><input type="text" id="etydoorNo" name="etydoorNo" value="${garageDetail.etydoorNo}" size="17" maxlength="50"/></td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea type="text" id="rm" name="rm" class="max">${garageDetail.rm}</textarea></td>
</tr>
</tbody>
</table>
</div>
<!-- layer pop -->
<!-- //layer pop -->
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmla30_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" id="btnSave" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>수정</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<!-- layer pop -->
<div class="mw_layer" id="layerCarInfo" >
<form id="saveForm" name="saveForm" method="post" action="">
<input type="hidden" name="lcnsNo" value=""/>
<input type="hidden" name="buzplcManageId"/>
<input type="hidden" name="preparVhcleAt" />
<!-- 팝업 영역 시작-->
<div class="popWrap" style="height:520px !important;">
<!-- 팝업 header -->
<div class="pop-header" id="layerCarInfoHeader">
<h1><strong>차적 조회 결과</strong></h1>
<a href="#layer_anchor" class="close" title="닫기" onclick="javascript:$.unblockUI();">닫기</a>
</div>
<!-- //팝업 header -->
<!-- 팝업 body -->
<div class="pop-body" style="height:400px !important;">
<div class="table01">
<table>
<caption>차적 조회 결과</caption>
<colgroup>
<col width="18%" />
<col width="" />
<col width="18%" />
<col width="" />
</colgroup>
<tbody>
<%-- TODO 차적조회 I/F 연동 후 모든 항목을 readonly로 전환 할 것. --%>
<tr>
<th>차량번호</th>
<td>
<input type="hidden" name="vhcleNoPre"/>
<input type="hidden" name="vhcleNoRr"/>
<input type="text" id="vhcleNo" name="vhcleNo" readonly="readonly"/>
</td>
<th>대표소유자</th>
<td><input type="text" id="MBER_NM"/></td>
</tr>
<tr>
<th>차량최초등록일</th>
<td><input type="text" id="FRST_REGIST_DE"/></td>
<th>차령만료일</th>
<td><input type="text" id="CAAG_ENDDE"/></td>
</tr>
<tr>
<th>등록일(변경일)</th>
<td><input type="text" id="REGIST_DE" name="vhcleRegistDe"/></td>
<th>이전등록(양수일)</th>
<td><input type="text" id="TRANSR_REGIST_DE" name="transrRegistDe"/></td>
</tr>
<tr>
<th>취득일자</th>
<td><input type="text" id="ACQS_DE"/></td>
<th>이전차량번호</th>
<td><input type="text" id="FRNT_VHRNO" name="bfchgVhcleno"/></td>
</tr>
<tr>
<th>차명</th>
<td><input type="text" id="CNM" name="brwdnm"/></td>
<th>용도구분</th>
<td><input type="text" id="PRPOS_SE_CODE"/></td>
</tr>
<tr>
<th>형식</th>
<td><input type="text" id="FOM_NM"/></td>
<th>연식</th>
<td><input type="text" id="PRYE"/></td>
</tr>
<tr>
<th>차대번호</th>
<td><input type="text" id="VIN" name="atmblrgeNo"/></td>
<th>차종종별명</th>
<td><input type="text" id="VHCTY_ASORT_NM" name="vhctyAsortNm"/></td>
</tr>
<tr>
<th>차종유형명</th>
<td><input type="text" id="VHCTY_TY_NM" name="vhctyTyNm"/></td>
<th>차종분류명</th>
<td><input type="text" id="VHCTY_SE_NM" name="vhctyClNm"/></td>
</tr>
<tr>
<th>연료구분</th>
<td><input type="text" id="USE_FUEL_CODE" name="vhcleFuelSe"/></td>
<th>최대적재량</th>
<td><input type="text" id="MXMM_LDG" name="mxmmLdadngqy"/></td>
</tr>
<tr>
<th>승차정원</th>
<td><input type="text" id="TKCAR_PSCAP_CO" name="tkcarPsncpa"/></td>
<th>재원등록상태</th>
<td><input type="text" id="SPCF_REGIST_STTUS_CODE" name="vhcleSttusCode"/></td>
</tr>
<tr>
<th>소유자주소</th>
<td><input type="text" id="OWNER_ADRES_FULL" name=""/></td>
<th>색상명</th>
<td><input type="text" id="COLOR_NM" name=""/></td>
</tr>
<tr>
<th>사용본거지 주소</th>
<td colspan="3"><input type="text" id="" name=""/></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- //팝업 body -->
<!-- 버튼 -->
<div class="btn ar area">
<!-- <a href="#" class="btn-b" onclick="javascript:fnSave2();"><strong><span>확인</span></strong></a> -->
<a href="#layer_anchor" class="btn-w close" onclick="javascript:$.unblockUI();"><strong><span>닫기</span></strong></a>
</div>
<!-- // 버튼 -->
</div>
<!-- //팝업 영역 끝 -->
</form>
</div>
<!-- //layer pop -->
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco08.js"/>"></script>
<div id="smco08_pop" class="mw_layer"></div>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
$.unblockUI();
lmla30_list();
}
});
initDatePicker('cnfmBeginDe');
initDatePicker('cnfmEndDe');
initDatePicker('garageRegistDe');
if('${garageDetail.rentSe}' == 'Y'){
jQuery('input[id=rentSe]').attr("checked", true);
}
var cnfmEndDe = "${garageDetail.cnfmEndDe}";
if(cnfmEndDe == "99999999"){
$("input:checkbox[name='cnfmJend']").attr("checked", true);
}
});
/* 목록으로 이동 */
function lmla30_list() {
$("#searchYn").val('N');
wfwSubmit('form','/lm/la/30/list.do');
}
/**
* 차량번호 조회
*/
function fnVhcleNo() {
// 차량번호 입력 확인
if(!checkLength('vhcleNo', 1, 9)){
openDialog('errorDialog', "차량번호<spring:message code='WFCO205'/>", null, 'vhcleNo');
return false;
}
var vhcleNo = $('#vhcleNo').val();
// 1. 차적조회
$.ajax({
url : '<c:url value="/lm/cmmn/ajaxFindVhcle.do"/>',
type : 'post',
async : true,
traditional : true,
data : {
searchVhcleNo : vhcleNo
},
beforeSend : function (jqXHR, settings) {
$.blockUI({ message : $('<div/>').html('차적조회중') });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('infoDialog', "<b>관리자에게 문의바랍니다</b><br><br>"+jqXHR.responseText);
$.unblockUI();
},
success : function (data, textStatus, jqXHR) {
var eaiResponse_rs = data.eaiResponse_rs;
if (eaiResponse_rs && eaiResponse_rs.length > 0) {
$('#brwdnm').val(eaiResponse_rs[0].cnm); //차명
$('#ldadngqy').val(eaiResponse_rs[0].mxmm_LDG); //쵀대적재량
$('#atmblrgeNo').val(eaiResponse_rs[0].vin); //차대번호
$('#lt').val(eaiResponse_rs[0].cbd_LT); //길이
$('#bt').val(eaiResponse_rs[0].cbd_DT); //너비
$('#MBER_NM').val(eaiResponse_rs[0].mber_NM);
$('#FRST_REGIST_DE').val(eaiResponse_rs[0].frst_REGIST_DE);
$('#CAAG_ENDDE').val(eaiResponse_rs[0].caag_ENDDE);
$('#REGIST_DE').val(eaiResponse_rs[0].regist_DE);
$('#TRANSR_REGIST_DE').val(eaiResponse_rs[0].transr_REGIST_DE);
$('#ACQS_DE').val(eaiResponse_rs[0].acqs_DE);
$('#FRNT_VHRNO').val(eaiResponse_rs[0].frnt_VHRNO);
$('#CNM').val(eaiResponse_rs[0].cnm);
$('#PRPOS_SE_CODE').val(eaiResponse_rs[0].prpos_SE_CODE);
$('#FOM_NM').val(eaiResponse_rs[0].fom_NM);
$('#PRYE').val(eaiResponse_rs[0].prye);
$('#VIN').val(eaiResponse_rs[0].vin);
$('#VHCTY_ASORT_NM').val(eaiResponse_rs[0].vhcty_ASORT_NM);
$('#VHCTY_TY_NM').val(eaiResponse_rs[0].vhcty_TY_NM);
$('#VHCTY_SE_NM').val(eaiResponse_rs[0].vhcty_SE_NM);
$('#USE_FUEL_CODE').val(eaiResponse_rs[0].use_FUEL_CODE);
$('#MXMM_LDG').val(eaiResponse_rs[0].mxmm_LDG);
$('#TKCAR_PSCAP_CO').val(eaiResponse_rs[0].tkcar_PSCAP_CO);
$('#SPCF_REGIST_STTUS_CODE').val(eaiResponse_rs[0].spcf_REGIST_STTUS_CODE);
$('#OWNER_ADRES_FULL').val(eaiResponse_rs[0].owner_ADRES_FULL);
$('#COLOR_NM').val(eaiResponse_rs[0].color_NM);
$('input[name=vhcleNo]', '#saveForm').val(vhcleNo);
$.unblockUI({
onUnblock: function() {
// 3. open 레이어
$.blockUI({ message : $('#layerCarInfo') });
}
});
} else {
openDialog('infoDialog', "<b>관리자에게 문의바랍니다</b><br><br>"+jqXHR.responseText);
$.unblockUI();
}
}
});
}
/** 주차장명 팝업 */
/* function fnSmCo08Callback(prkplceNm, prkplceId, parkngAlge, adres, detailAdres, postNo, prkplceAr, usefulAr){
$('#prkplceNm').val(prkplceNm);
$('#prkplceId').val(prkplceId);
$('#adres').val(adres);
$('#detailAdres').val(detailAdres);
$('#postNo').val(postNo.substring(0,3) + '-' + postNo.substring(3,6));
} */
function fnSmCo08Callback(prkplceNm, prkplceId, parkngAlge, adres, detailAdres, postNo, prkplceAr, usefulAr, usefulAlge, cntrctAlge){
$('#prkplceNm').val(prkplceNm);
$('#prkplceId').val(prkplceId);
$('#parkngAlge').val(autoComma(parkngAlge));
$('#adres').val(adres);
$('#detailAdres').val(detailAdres);
$('#postNo').val(postNo);
$('#plotAr').val(autoComma(prkplceAr));
$('#usefulAlge').val(usefulAlge);
$('#cntrctAlge').val(cntrctAlge);
$('#garageNm').val('');
}
/* 면허번호 상세조회*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId) {
$('#lcnsNo').val(lcnsNo);
}
/*
* 입력값 검증
*/
function fnValidateValues() {
$('#tempValBt').val($('#bt').val());
$('#tempValLt').val($('#lt').val());
// 소유자명
if(lengthKor('owner') == 0){
openDialog('errorDialog', '소유자명을 입력하세요.', null, 'owner');
return false;
}else if(lengthKor('owner') > 50){
openDialog('errorDialog', '소유자명명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('owner')+')', null, 'owner');
return false;
}
if(lengthKor('rprsntvNm') == 0){
openDialog('errorDialog', '대표자명을 입력하세요.', null, 'rprsntvNm');
return false;
}else if(lengthKor('rprsntvNm') > 30){
openDialog('errorDialog', '대표자명을 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('rprsntvNm')+')', null, 'rprsntvNm');
return false;
}
/* // 주민번호
if (!checkInhbtntLenth('inhbtntNo',13)) {
openDialog('errorDialog', '주민등록번호를 입력형식이 맞지 않습니다.', null, 'inhbtntNo');
return false;
} */
// 우편번호
if (isEmpty('postNo2')) {
openDialog('errorDialog', '우편번호를 선택하세요.', null, 'postNo2');
return false;
}
// 주소
if(lengthKor('adres2') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres2');
return false;
}else if(lengthKor('adres2') > 50){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres2')+')', null, 'adres2');
return false;
}
// 상세주소
/* if(lengthKor('detailAdres2') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'detailAdres2');
return false;
}else if(lengthKor('detailAdres2') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres2')+')', null, 'detailAdres2');
return false;
} */
/* // 전화번호
if (!checkTelno('tlphon')) {
openDialog('errorDialog', '전화번호를 정확히 입력하세요.', null, 'tlphon');
return false;
} */
/*
// 적재량
if (isEmpty('ldadngqy')) {
openDialog('errorDialog', '최대적재량을 입력하세요.', null, 'ldadngqy');
return false;
}
// 차량번호
if (isEmpty('vhcleNo')) {
openDialog('errorDialog', '차량번호를 선택하세요.', null, 'vhcleNo');
return false;
}
// 길이
if (isEmpty('lt')) {
openDialog('errorDialog', '길이를 입력하세요..', null, 'lt');
return false;
}
// 너비
if (isEmpty('bt')) {
openDialog('errorDialog', '너비를 입력하세요.', null, 'bt');
return false;
}
*/
// 차고지분류
if (isEmpty('codeNm')) {
openDialog('errorDialog', '차고지분류를 선택하세요.', null, 'codeNm');
return false;
}
/* // 차고지명
if(lengthKor('garageNm') == 0){
openDialog('errorDialog', '차고지명을 입력하세요.', null, 'garageNm');
return false;
}else if(lengthKor('garageNm') > 50){
openDialog('errorDialog', '차고지명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('garageNm')+')', null, 'garageNm');
return false;
} */
// 주차장 주차 대수
if (isEmpty('parkngAlge')) {
openDialog('errorDialog', '주차장 주차 대수를 숫자로 입력하세요.', null, 'parkngAlge');
return false;
}
// 주차장 가용 대수
if (isEmpty('usefulAlge')) {
openDialog('errorDialog', '주차장 가용 대수를 숫자로 입력하세요.', null, 'usefulAlge');
return false;
}
// 인가대수
if (isEmpty('cnfmAlge')) {
openDialog('errorDialog', '인가대수를 입력하세요.', null, 'cnfmAlge');
return false;
}
/* // 대지면적
if (isEmpty('plotAr')) {
openDialog('errorDialog', '대지면적을 입력하세요.', null, 'plotAr');
return false;
}
*/
// 우편번호
if (isEmpty('postNo')) {
openDialog('errorDialog', '우편번호를 선택하세요.', null, 'postNo');
return false;
}
// 주소
if(lengthKor('adres') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres');
return false;
}else if(lengthKor('adres') > 50){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres')+')', null, 'adres');
return false;
}
// 상세주소
/* if(lengthKor('detailAdres') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'detailAdres');
return false;
}else if(lengthKor('detailAdres') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres')+')', null, 'detailAdres');
return false;
} */
// 등록일
if (!checkDate('garageRegistDe')) {
openDialog('errorDialog', '등록일자을 선택하세요.', null, 'garageRegistDe');
return false;
}
// 소유자 관할관청
if (isEmpty('cmptncGrc')) {
openDialog('errorDialog', '소유자 관할관청을 선택하세요.', null, 'cmptncGrc');
return false;
}
if (isEmpty('garageCmptncGrc')) {
openDialog('errorDialog', '차고지 관할관청을 선택하세요.', null, 'garageCmptncGrc');
return false;
}
/*
// 인가시작
if (!checkDate('cnfmBeginDe')) {
openDialog('errorDialog', '인가시작일을 선택하세요.', null, 'cnfmBeginDe');
return false;
}
// 인가종료
if (!checkDate('cnfmEndDe')) {
openDialog('errorDialog', '인가종료일을 선택하세요.', null, 'cnfmEndDe');
return false;
}
*/
if(jQuery('#rentSe').is(":checked")){
$('#rentSeVal').val("Y");
}
/* // 문서번호
if(lengthKor('etydoorNo') == 0){
openDialog('errorDialog', '문서번호를 입력하세요.', null, 'etydoorNo');
return false;
}else if(lengthKor('etydoorNo') > 50){
openDialog('errorDialog', '문서번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('etydoorNo')+')', null, 'etydoorNo');
return false;
} */
openDialog('confirmSaveDialog', '자료를 등록 하시겠습니까?');
}
/* 등록 */
function fnSave(){
/** '-', ',', '.' 제거 */
removeSpecific('cnfmAlge');
removeSpecific('parkngAlge');
removeSpecific('usefulAlge');
removeSpecific2('plotAr');
removeSpecific('postNo');
removeSpecific('postNo2');
if(isEmpty('plotAr')){
$('#plotAr').val(0);
}
var preCnfmAlge = '${garageDetail.cnfmAlge}';
if(preCnfmAlge != $('#cnfmAlge').val()){ //인가대수가 수정된 경우
$('#checkModify').val("Y");
}
if($('#prkplceNm').val() == null || $('#prkplceNm').val() == ""){ //주차장 검색 사용하지 않으면
$('#cntrctAlge').val($('#cnfmAlge').val());
}
$.ajax({
url : '<c:url value="/lm/la/30/ajaxUpdtStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료수정에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '자료가 수정 되었습니다.');
} else {
openDialog('errorDialog', '자료수정에 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/** 초기화 */
function fnReset(){
$('#form')[0].reset();
$('#entrpsNm').text("");
$('#cprInhbtntRegistNo').text("");
$('#rprsntvNm').text("");
$('#rprsntvInhbtntRegistNo').text("");
$('#useStrnghldAdres').text("");
}
</script>

@ -0,0 +1,301 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<script type="text/javascript" src="<c:url value="/js/jquery.fileDownload.js"/>"></script>
<form:form id="form" name="form" commandName="lmLa3010SearchVO" >
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="pvtuseManageId" name="pvtuseManageId"/>
<input type="hidden" id="garageId" name="garageId"/>
<input type="hidden" id="downloadResn" name="downloadResn" /> <!-- 엑셀 다운로드 사유를 입력받고 내용을 서버로 전송할 때 사용함 -->
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>자가용화물차 차고지 관리</span>
</p>
<h2>자가용화물차 차고지 관리</h2>
<h3>대상 검색</h3>
<!-- search -->
<div class="table01">
<table>
<caption>대상 검색</caption>
<colgroup>
<col width="15%" />
<col width="25%" />
<col width="15%" />
<col width="15%" />
<col width="15%" />
<col width="15%" />
</colgroup>
<tbody>
<tr>
<th>소유자명</th>
<td>
<form:input type="text" id="searchOwner" path="searchOwner" size="17"></form:input>
</td>
<th>차량번호</th>
<td>
<form:input type="text" id="searchVhcleNo" path="searchVhcleNo" size="17"></form:input>
</td>
<th>차대번호</th>
<td>
<form:input type="text" id="searchAtmblrgeNo" path="searchAtmblrgeNo" size="17"></form:input>
</td>
</tr>
<tr>
<th>등록일자</th>
<td>
<input type="text" id="searchStartGarageRegistDe" class="calendar" name="searchStartGarageRegistDe" maxlength="10" value="${lmLa3010SearchVO.searchStartGarageRegistDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
- <input type="text" id="searchEndGarageRegistDe" class="calendar" name="searchEndGarageRegistDe" maxlength="10" value="${lmLa3010SearchVO.searchEndGarageRegistDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
</td>
<th>차고지 관할관청</th>
<td>
<select id="searchPstinst" name="searchPstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmLa3010SearchVO.searchPstinst}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
<th>선택일자기준(유효한 차고지 검색)</th>
<td>
<input type="text" id="searchAvailableDe" class="calendar" name="searchAvailableDe" maxlength="10" value="${lmLa3010SearchVO.searchAvailableDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
</td>
</tr>
<tr>
<th>차고지 만료일자</th>
<td>
<input type="text" id="searchStartIngaEndDe" class="calendar" name="searchStartIngaEndDe" maxlength="10" value="${lmLa3010SearchVO.searchStartIngaEndDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
- <input type="text" id="searchEndIngaEndDe" class="calendar" name="searchEndIngaEndDe" maxlength="10" value="${lmLa3010SearchVO.searchEndIngaEndDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
</td>
<th>차고지 분류</th>
<td colspan="3">
<select name="searchGarageSe" id="searchGarageSe">
<option value=""> == 전체 ==</option>
<c:forEach items="${garageCodeList}" var="garageCodeList" varStatus="status">
<option value="${garageCodeList.code}" <c:if test="${garageCodeList.code == lmLa3010SearchVO.searchGarageSe}">selected="selected"</c:if>>${garageCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:goRegistStart();"><strong><span>자가용화물차 차고지 등록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1, true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<h3 class="fl">자가용화물차 목록<span class="explain">[총 건수 : <strong>${lmLa3010SearchVO.totalCount}</strong>건]</span></h3>
<%-- <p class="mb10 fr"><a href="#" onclick="javascript:fnExcel();"><img src="<c:url value="/images/sub/btn-excel.gif"/>" alt="엑셀저장" /></a></p> --%>
<p class="mb10 fr"><a href="#" onclick="javascript:fnOpenExcelDownloadReasonPop();"><img src="<c:url value="/images/sub/btn-excel.gif"/>" alt="엑셀저장" /></a></p>
<div class="scroll c_both"> <!-- 스크롤 CSS 추가 -->
<div class="table02">
<table id="list" name="list">
<caption>면허 목록</caption>
<colgroup>
<col width="150" />
<col width="100" />
<col width="200" />
<col width="100" />
<col width="100" />
<col width="110" />
<col width="160" />
<col width="100" />
<col width="300" />
<col width="100" />
<col width="110" />
<col width="100" />
</colgroup>
<thead>
<tr>
<th>소유자명</th>
<th>차량번호</th>
<th>차대번호</th>
<th>적재량(Kg)</th>
<th>차고지분류</th>
<th>차고지등록일자</th>
<th>인가기간</th>
<th>인가대수</th>
<th>차고지 주소</th>
<th>차고지명</th>
<th>차고지 관할관청</th>
<th>담당자</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty lmla3010list}">
<c:forEach var="lmla3010list" items="${lmla3010list}" varStatus="status">
<tr onclick="javascript:fnView('${lmla3010list.pvtuseManageId}', '${lmla3010list.garageId}', this);" style="cursor:pointer;" >
<td class="textC">${lmla3010list.owner}</td>
<td class="textC">${lmla3010list.vhcleNo}</a></td>
<td class="textC">${lmla3010list.atmblrgeNo}</td>
<td class="textC">${tbms_fn:maskNumber(lmla3010list.ldadngqy, 3)}</td>
<td class="textC">${lmla3010list.garageClNm}</td>
<td class="textC">${lmla3010list.garageRegistDe}</td>
<td class="textC">${lmla3010list.cnfmDe}</td>
<td class="textC">${lmla3010list.cnfmAlge}</td>
<td class="textC">${lmla3010list.postNo} ${lmla3010list.garageAdres}</td>
<td class="textC">${lmla3010list.garageNm}</td>
<td class="textC">${lmla3010list.garageCmptncGrcNm}</td>
<td class="textC">${lmla3010list.updusr}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:if test="${lmLa3010SearchVO.searchYn == 'Y'}">
<tr><td colspan="12" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:if>
<c:if test="${lmLa3010SearchVO.searchYn != 'Y' }">
<tr><td colspan="12" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:if>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div><!-- 스크롤 끝 -->
<p class="mt10">목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1, true, true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}" type="tbms" jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
initDatePicker('searchStartGarageRegistDe');
initDatePicker('searchEndGarageRegistDe');
initDatePicker('searchAvailableDe');
initDatePicker('searchStartIngaEndDe');
initDatePicker('searchEndIngaEndDe');
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
}
});
});
/* 목록 조회 */
function fnSearch(pageNo, button, listChk) {
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
if('${lmla3010list}' == ''){
return false;
}
}
if($("#searchOwner").val()=="" &&
$("#searchVhcleNo").val()=="" &&
$("#searchAtmblrgeNo").val()=="" &&
$("#searchStartGarageRegistDe").val()=="" &&
$("#searchEndGarageRegistDe").val()=="" &&
$("#searchPstinst").val()=="" &&
$("#searchAvailableDe").val()=="" &&
$("#searchStartIngaEndDe").val()=="" &&
$("#searchEndIngaEndDe").val()=="" &&
$("#searchGarageSe").val()==""
){
alert('검색조건을 1개 이상 입력 또는 선택하세요.');
return false;
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '/lm/la/30/list.do');
}
/*
* 상세보기로 이동
*/
function fnView(pvtuseManageId, garageId, obj) {
wfwTrSelected(obj); /*선택로우색변경 */
$('#pvtuseManageId').val(pvtuseManageId);
$('#garageId').val(garageId);
wfwSubmit('form', '/lm/la/30/goDetail.do');
}
/*
* 임시면허등록
*/
function goRegistStart() {
wfwSubmit('form', '/lm/la/30/goRegistStart.do');
}
/*
* 초기화
*/
function fnReset(){
$('#searchOwner').val('');
$('#searchVhcleNo').val('');
$('#searchAtmblrgeNo').val('');
$('#searchStartGarageRegistDe').val('');
$('#searchEndGarageRegistDe').val('');
}
/*
* 엑셀 저장
*/
function fnExcel(){
var list = '${lmla3010list}';
if(list == ''){
openDialog('infoDialog', "<spring:message code='WFCO100'/>", null, 'entrpsNm');
return false;
}
//wfwSubmit('form','/lm/la/30/excel.do');
/** 엑셀다운로드 시작 **/
openProgressBar(); //프로그레스바 노출
$.fileDownload('<c:url value="/lm/la/30/excel.do"/>',{data:jQuery("#form").serialize()})
.done(function(){
closeProgressBar();
alert("엑셀 다운로드가 완료되었습니다.");
})
.fail(function(){
closeProgressBar();
alert("엑셀 다운로드시 오류가 발생하였습니다.");
});
/** 끝 **/
}
</script>

@ -0,0 +1,216 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa3010SearchVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y" />
<input type="hidden" id="searchIndutyCode" name="searchIndutyCode" value="${lmLa3010SearchVO.searchIndutyCode}" />
<input type="hidden" id="garageId" name="garageId" value="${garageDetail.garageId}" />
<input type="hidden" id="pvtuseManageId" name="pvtuseManageId" value="${pvtuseDetail.pvtuseManageId}" />
<input type="hidden" id="prkplceId" name="prkplceId" value="${garageDetail.prkplceId }" />
<input type="hidden" id="cnfmAlge" name="cnfmAlge" value="${garageDetail.cnfmAlge}"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>자가용화물차 차고지 관리</span>
</p>
<h2>자가용화물차 차고지 상세</h2>
<h3>소유차량 정보</h3>
<div class="table01">
<table>
<caption>상세정보</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th>차량번호</th>
<td>${pvtuseDetail.vhcleNo}</td>
<th>차대번호</th>
<td>${pvtuseDetail.atmblrgeNo}</td>
</tr>
<tr>
<th>소유자(법인)명</th>
<td>${pvtuseDetail.owner}</td>
<th>주민(법인)등록번호</th>
<td>${tbms_fn:printIhidnum2(pvtuseDetail.inhbtntNo)}</td>
</tr>
<tr>
<th>대표자명</th>
<td colspan="3">${pvtuseDetail.rprsntvNm }</td>
</tr>
<tr>
<th>주소</th>
<td colspan="3">${pvtuseDetail.postNo} ${pvtuseDetail.adres} ${pvtuseDetail.detailAdres}</td>
</tr>
<tr>
<th>전화번호</th>
<td>${pvtuseDetail.tlphon}</td>
<th>최대적재량</th>
<td>${tbms_fn:maskNumber(pvtuseDetail.ldadngqy, 3)}</td>
</tr>
<tr>
<th>길이</th>
<td>${tbms_fn:maskNumber(pvtuseDetail.gili, 3)}</td>
<th>너비</th>
<td>${tbms_fn:maskNumber(pvtuseDetail.bt, 3)}</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3">${pvtuseDetail.rm}</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl"><a href="#" class="btn-w" onclick="javascript:fnReport();"><strong><span>사용신고필증</span></strong></a></p>
<p class="fr"><a href="#" class="btn-w" onclick="javascript:goDelete();"><strong><span>삭제</span></strong></a></p>
</div>
</div>
<div class="combine">
<h3>차고지 상세</h3>
<div class="table01">
<table>
<caption>차고지 상세 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th>차고지명</th>
<td>${garageDetail.garageNm}</td>
<th>차고지 분류</th>
<td>${garageDetail.garageCl}</td>
</tr>
<tr>
<th>주소</th>
<td colspan="3">${garageDetail.postNo} ${garageDetail.adres} ${garageDetail.detailAdres}</td>
</tr>
<tr>
<th>인가대수</th>
<td>${tbms_fn:maskNumber(garageDetail.cnfmAlge, 3)} 대</td>
<th>대지면적</th>
<td>${tbms_fn:maskNumber(garageDetail.plotAr, 3)} m²</td>
</tr>
<tr>
<th>주차규모(대수)</th>
<td>${tbms_fn:maskNumber(garageDetail.parkngAlge, 3)} 대</td>
<th>계약대수</th>
<td>${tbms_fn:maskNumber(garageDetail.cntrctAlge, 3)} 대</td>
</tr>
<tr>
<th>인가기간</th>
<td>${garageDetail.cnfmDe}</td>
<th>등록일자</th>
<td>${garageDetail.garageRegistDe}</td>
</tr>
<tr>
<th>처리일시</th>
<td>${garageDetail.updtDt}</td>
<th>담당자</th>
<td>${garageDetail.updusrCmptncNm}(${garageDetail.updusr})</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmla30_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:goUpdtStart();"><strong><span>수정</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
}
});
});
/* 목록으로 이동 */
function lmla30_list() {
wfwSubmit('form','/lm/la/30/list.do');
}
/** 수정화면으로 이동 */
function goUpdtStart() {
wfwSubmit('form', '/lm/la/30/goUpdtStart.do');
}
/*
* 화물자동차 사용신고 필증 출력(자기 관할관청 건만 화물자동차 사용신고 필증 출력이 가능하다.(단,서울시사용자는 전부 출력 가능하다.))
*/
function fnReport(){
var loginCmptncGrc = '${pstinst}';
var cmptncGrc = '${pvtuseDetail.cmptofc}';
var userId = '${user}'
/* if( loginCmptncGrc != '6110000' && loginCmptncGrc != cmptncGrc ){
openDialog('errorDialog', "<spring:message code='LMPTGL021'/>");
return false;
}
*/
var fileNm = 'LMLA30_RPT';
var pvtuseManageId = '${pvtuseDetail.pvtuseManageId}';
$('#reportForm').attr('action', '<c:url value="/ubi4/ubihtml.jsp"/>');
$('#reportForm input[name=file]').val(fileNm);
$('#reportForm input[name=arg]').val('PVTUSE_MANAGE_ID#' + pvtuseManageId +'#LOGIN_CMPTNC_GRC#'+loginCmptncGrc+'#userId#'+userId);
$('#reportForm').attr('target', 'rptDiv');
$('#reportForm').submit();
}
// 차고지 삭제
function goDelete(){
$.ajax({
url : '<c:url value="/lm/la/30/ajaxGarageDelete.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '자료가 삭제 되었습니다.');
wfwSubmit('form','/lm/la/30/list.do');
} else {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
</script>

@ -0,0 +1,458 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa40SearchVO">
<input type="hidden" id="searchFlag" name="searchFlag" value="search"/>
<input type="hidden" id="updateType" name="updateType" value="vhcle"/>
<input type="hidden" id="searchVhcleNos" name="searchVhcleNos" />
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>자동차망대량연계</span>
</p>
<h2>자동차망 대량 연계</h2>
<!-- search -->
<h3>대상 검색</h3>
<div class="table01">
<table>
<caption>대상 검색</caption>
<colgroup>
<col width="" />
<col width="" />
<col width="" />
<col width="" />
<col width="" />
<col width="" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>업종</th>
<td>
<select id="searchInduty" name="searchInduty">
<option value="">== 전체 ==</option>
<c:forEach items="${indutyList}" var="indutyList">
<option value="${indutyList.indutyCode}" <c:if test="${indutyList.indutyCode == lmLa40SearchVO.searchInduty}">selected="selected"</c:if> >${indutyList.indutyNm}</option>
</c:forEach>
</select>
</td>
<th><span>*</span>면허 번호</th>
<td>
<form:input id="realLcnsNo" path="realLcnsNo" size="8" readonly="true"/>
<form:input type="hidden" id="searchLcnsNo" path="searchLcnsNo"/>
<a href="#" class="btn-search ml10" onclick="javascript:fnOpenSmCo07Pop('','');return false;"><span>검색</span></a>
</td>
<th>관할관청</th>
<td>
<select id="searchPstinst" name="searchPstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmLa40SearchVO.searchPstinst}"> selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>업데이트일(이후)</th>
<td>
<input type="text" id="searchUpdtDt" class="calendar" name="searchUpdtDt" maxlength="10" value="${lmLa40SearchVO.searchUpdtDt}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
<input type="checkbox" id="searchCheckFML" name="searchCheckFML" value="N" onclick="javascript:fnClickChk();"/>최초최대적재량 없음
</td>
<th>면허상태</th>
<td>
<select id="searchLcnsSttus" name="searchLcnsSttus">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${lcnsSttus}">
<option value="${row.code}" <c:if test="${row.code == lmLa40SearchVO.searchLcnsSttus}"> selected="selected"</c:if>>${row.codeNm}</option>
</c:forEach>
</select>
</td>
<th>차량상태</th>
<td>
<select id="searchVhcleSttus" name="searchVhcleSttus">
<option value=""> == 전체 == </option>
<option value="Y" <c:if test="${'Y' == lmLa40SearchVO.searchVhcleSttus}"> selected="selected"</c:if>>정상</option>
<option value="N" <c:if test="${'N' == lmLa40SearchVO.searchVhcleSttus}"> selected="selected"</c:if>>말소</option>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnCarUpdateDialog('vhcle');"><strong><span>차량제원일괄변경</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnCarUpdateDialog('adres');"><strong><span>주소업데이트(사용본거지,거주지)</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
<!-- //search -->
</div>
<div class="combine">
<!-- 결과값 -->
<h3 class="fl">차량 현황<span class="explain">[총 건수 : <strong>${lmLa40SearchVO.totalCount}</strong>건]</span></h3>
<div class="scroll c_both"> <!-- 스크롤 CSS 추가 -->
<div class="table02">
<table>
<caption>차량 현황</caption>
<colgroup>
<col width="60" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="200" />
<col width="100" />
<col width="100" />
<col width="150" />
<col width="100" />
<col width="80" />
<col width="100" />
<col width="110" />
<col width="110" />
<col width="100" />
<col width="100" />
<col width="120" />
<col width="300" />
<col width="300" />
<col width="120" />
</colgroup>
<thead>
<tr>
<th><input type="checkbox" id="checkAll" onclick="javascript:fnCheckAll();" alt="전체선택" title="전체선택" /></th>
<th>업체명</th>
<th>면허번호</th>
<th>차량번호</th>
<th>차량명</th>
<th>차량상태</th>
<th>차종</th>
<th>색상</th>
<th>너비</th>
<th>승차정원</th>
<th>최대적재량</th>
<th>최초최대적재량</th>
<th>연료종류</th>
<th>배기량</th>
<th>면허상태</th>
<th>최종차적수정일</th>
<th>사용본거지주소</th>
<th>거주지주소</th>
<th>최종주소수정일</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty list}">
<c:set var="rowNo" value="${paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage)}"/>
<c:forEach var="row" items="${list}" varStatus="status">
<tr>
<td><input type="checkbox" name="vhcleNos" value="${row.vhcleNo }" /></td>
<td class="textC">${row.entrpsNm}</td>
<%-- <td class="textC">${row.lcnsNo}</td> --%>
<td class="textC">${row.realLcnsNo}</td>
<td class="textC">${row.vhcleNo}</td>
<td class="textC">${row.brwdnm}</td>
<td class="textC">${row.vhcleSttusCodeNm}</td>
<td class="textC">${row.vhctyCode}</td>
<td class="textC">${row.colorNm}</td>
<td class="textC">${row.bt}</td>
<td class="textC">${row.tkcarPsncpa}</td>
<td class="textC">${row.mxmmLdadngqy}</td>
<td class="textC">${row.frstMxmmLdadngqy}</td>
<td class="textC">${row.vhcleFuelSeNm}</td>
<td class="textC">${row.dsplvl}</td>
<td class="textC">${row.lcnsSttusNm}</td>
<td class="textC">${row.vhcleUpdtDt}</td>
<td class="textC">${row.useStrnghldAdres }</td>
<td class="textC">${row.resdncAdres }</td>
<td class="textC">${row.lcnsUpdtDt }</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:if test="${searchFlag == 'search'}">
<tr><td colspan="19" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:if>
<c:if test="${searchFlag != 'search' }">
<tr><td colspan="19" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:if>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<p class="mt10">
목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
<form:option value="200">200</form:option>
<form:option value="300">300</form:option>
<form:option value="400">400</form:option>
<form:option value="500">500</form:option>
<form:option value="1000">1000</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}"
type="tbms"
jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
<!-- //결과값 -->
</div>
</form:form>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript">
/*
* 초기화
*/
$(document).ready(function () {
wfwInitDialog(true, 'infoDialog', '정보');
wfwInitDialog(true, 'resultDialog', '결과');
wfwInitDialog(true, 'errorDialog', '오류');
wfwInitDialog(true, 'confirmCarUpdateJewonDialog', '확인', 400, null, { // 실행확인 dialog
'실행' : function () {
$(this).dialog('close');
fnCarUpdateJewon();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'confirmCarUpdateJusoDialog', '확인', 400, null, { // 실행확인 dialog
'실행' : function () {
$(this).dialog('close');
fnCarUpdateJuso();
},
'취소' : function () {
$(this).dialog('close');
}
});
initDatePicker('searchUpdtDt');
fnCheckBoxSetting();
});
/*
* 검색
*/
function fnSearch(pageNo) {
fnClickChk();
if( !chkValidation() ){
return false;
}
$('#pageNo').val(pageNo);
var form = $('form[name=form]');
$(form).attr('action', '<c:url value="/lm/la/40/list.do"/>');
openProgressBar(); //프로그레스바 노출
$(form).submit();
}
/* 면허번호 조회*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId, realLcnsNo) {
$('#searchLcnsNo').val(lcnsNo);
$('#realLcnsNo').val(realLcnsNo);
}
/*
* Validation 체크
*/
function chkValidation(){
// 업종
if (isEmpty('searchInduty')) {
openDialog('infoDialog', "업종을 <spring:message code='WFCO103'/>", null, 'searchInduty');
return false;
}
return true;
}
function fnCarUpdateDialog(updateProcessType){
var totalCount = '${paginationInfo.totalRecordCount}';
if( totalCount == 0 ){
openDialog('infoDialog', "<spring:message code='WFCO100'/>");
return false;
}
if(updateProcessType == "vhcle"){
var checkedCnt = $("input[name=vhcleNos]:checked").size();
var vhcleNos = new Array();
if(checkedCnt > 0){ //체크선택해서 개별 차량업데이트시 사용
$("input[name=vhcleNos]:checked").each(function() {
var vhcleNo = $(this).val();
vhcleNos.push(vhcleNo);
});
$('#searchVhcleNos').val(vhcleNos);
$('#updateType').val("some");
}else{ //검색된 목록의 차량 모두 업데이트
$('#updateType').val("all");
}
openDialog('confirmCarUpdateJewonDialog', "자동차망 대량연계를 실행하시겠습니까?");
}
if(updateProcessType == "adres"){
if( $('#searchInduty').val() == '121' // 121 일반택시Ⅰ
|| $('#searchInduty').val() == '123' // 123 호텔택시(한정면허)
|| $('#searchInduty').val() == '124' // 124 일반택시Ⅰ(심야콜승합-한정면허)
|| $('#searchInduty').val() == '131' // 131 시내버스
|| $('#searchInduty').val() == '132' // 132 마을버스
|| $('#searchInduty').val() == '133' // 133 전세버스
|| $('#searchInduty').val() == '134' // 134 장의버스
|| $('#searchInduty').val() == '135' // 135 공항버스
|| $('#searchInduty').val() == '136' // 136 시외버스
|| $('#searchInduty').val() == '137' // 137 고속버스
|| $('#searchInduty').val() == '138' // 138 시내순환 관광버스
|| $('#searchInduty').val() == '139' // 139 시내버스 (심야콜승합-한정면허)
|| $('#searchInduty').val() == '141' // 141 대여업
|| $('#searchInduty').val() == '151' // 151 터미널업
|| $('#searchInduty').val() == '232' // 232 일반화물
|| $('#searchInduty').val() == '233' // 233 노선화물
|| $('#searchInduty').val() == '234' // 234 전국화물
|| $('#searchInduty').val() == '235' // 235 구역화물
|| $('#searchInduty').val() == '236' // 236 특수화물
|| $('#searchInduty').val() == '241' // 241 화물주선업
|| $('#searchInduty').val() == '251' // 251 화물가맹업
) {
openDialog('errorDialog', "선택하신 업종은 시스템 제한으로 인하여 자동차망 연계 주소 갱신을 할 수 없습니다.<br/>사업계획변경관리 메뉴에서 주소를 변경하시기 바랍니다.");
return;
}
if($('#realLcnsNo').val() == ""){
openDialog('errorDialog', "사용본거지/거주지 주소 업데이트는 한번에 한건의 면허만 처리 가능합니다.<br/>업데이트할 면허번호를 선택해주세요.");
return;
}
$('#updateType').val("all");
openDialog('confirmCarUpdateJusoDialog', "사용본거지/거주지 주소 업데이트를 실행하시겠습니까?");
}
}
/*
* 검색조건 초기화
*/
function fnReset() {
$('#searchInduty').val('');
$('#searchLcnsNo').val('');
$('#realLcnsNo').val('');
}
/**
* 차량제원일괄변경
*/
function fnCarUpdateJewon() {
fnClickChk();
$.ajax({
url : '<c:url value="/lm/la/40/ajaxChangeVhcleInfoJewon.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', "<spring:message code='WFCOGL100'/>");
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('resultDialog', data.msg);
} else {
openDialog('errorDialog', "<spring:message code='WFCOGL100'/>");
}
},
progress: function(){
openProgressBar(); //프로그레스바 노출
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
closeProgressBar(); //프로그래스바 숨김
}
});
}
function fnCarUpdateJuso() {
fnClickChk();
$.ajax({
url : '<c:url value="/lm/la/40/ajaxChangeVhcleInfoJuso.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', "<spring:message code='WFCOGL100'/>");
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('resultDialog', data.msg);
} else {
openDialog('errorDialog', "<spring:message code='WFCOGL100'/>");
}
},
progress: function(){
openProgressBar(); //프로그레스바 노출
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
closeProgressBar(); //프로그래스바 숨김
}
});
}
/**
* 자동차망 대량 연계>차량현황전체선택/해제
*/
function fnCheckAll() {
var checked = $('#checkAll').is(':checked');
$('input[name="vhcleNos"]').prop('checked', checked);
}
/*
* 주기적신고일 미입력건 체크
*/
function fnClickChk(){
if($("input:checkbox[id='searchCheckFML']").is(":checked") == true){
$('#searchCheckFML').val('Y'); //주기적신고일 없음
}else{
$('#searchCheckFML').val('N'); //주기적신고일 있음
}
}
/** 체크박스 셋팅 **/
function fnCheckBoxSetting(){
var searchCheckCSD = '${lmLa40SearchVO.searchCheckFML}';
if(searchCheckCSD == 'Y'){//주기적신고일 없음
$("input[name=searchCheckFML]:checkbox").attr("checked",true);
}
}
</script>

@ -0,0 +1,685 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa5010InsertVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="prkplceId" name="prkplceId" />
<input type="hidden" id="rentSeVal" name="rentSeVal" />
<input type="hidden" id="garageSe" name="garageSe" value="4"/>
<input type="hidden" id="changeResnCode" name="changeResnCode" value="01" />
<input type="hidden" id="cntrctAlge" name="cntrctAlge"/>
<input type="hidden" id="checkModify" name="checkModify" value="N"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>타시도차량 차고지 관리</span>
</p>
<h2>타시도 차량 차고지 등록</h2>
<h3>타시도 차량 정보</h3>
<div class="table01">
<table>
<caption>타시도 차량 정보 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>사업자(업체)명</th>
<td><input type="text" id="bsnmNm" name="bsnmNm" class="min" maxlength="50"/></td>
<th><span>*</span>업종</th>
<td>
<select id="indutyCode" name="indutyCode">
<option value=""> ===== 선택 ===== </option>
<c:forEach var="codeList" items="${indutyList }" varStatus="status">
<option value="${codeList.indutyCode}">${codeList.indutyNm}</option>
</c:forEach>
</select>
</td>
<!-- <th><span>*</span>주민등록번호</th>
<td><input type="text" id="inhbtntNo" name="inhbtntNo" size="18" onkeypress="javascript:return wfwInhbtntDashFormat(this);" style="ime-mode:disabled" maxlength="14" /></td> -->
</tr>
<tr>
<th><span>*</span>대표자(소유자)명</th>
<td colspan="3"><input type="text" id="ownerNm" name="ownerNm" class="mid" maxlength="30"/></td>
</tr>
<tr>
<th><span>*</span>차량번호</th>
<td><input type="text" id="vhcleNo" name="vhcleNo" size="17" maxlength="16" /><a href="#" class="btn-search ml10" onclick="javascript:fnVhcleNo();"><span>검색</span></a></td>
<th>전화번호</th>
<td><input type="text" id="tlphonNo" name="tlphonNo" size="17" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" style="ime-mode:disabled" maxlength="13" /></td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td colspan="3">
<input type="text" id="postNo2" name="postNo2" size="7" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7" />
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo2','adres2','detailAdres2');"><span>검색</span></a>
<input type="text" id="adres2" name="adres2" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th>상세주소</th>
<td colspan="3"><input type="text" id="detailAdres2" name="detailAdres2" size="118" maxlength="300"/></td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea id="rm2" name="rm2" class="max" maxlength="500"></textarea></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="combine">
<h3>차고지 정보</h3>
<div class="table01">
<table>
<caption>차고지 내역 입력 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>차고지 분류</th>
<td>
<select name="codeNm" id="codeNm" style="width:40%">
<option value=""> == 선택 ==</option>
<c:forEach items="${parntsCodeList}" var="parntsCodeList" varStatus="status">
<option value="${parntsCodeList.code}">${parntsCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
<th>차고지명</th>
<td><input type="text" id="garageNm" name="garageNm" size="20" maxlength="50"/></td>
</tr>
<tr>
<th>주차장명</th>
<td colspan="3"><input type="text" id="prkplceNm" name="prkplceNm" size="20" maxlength="50" /><a href="#" class="btn-search ml10" onclick="javascript:fnOpenSmCo08Pop();return false;"><span>검색</span></a>
<span style="color:red;font-weight:bold;">*주차장검색을 사용하지 않는 경우 주차장명 입력시 오류에 원인이 됩니다.*</span>
</td>
</tr>
<tr>
<th>주차장 대지면적</th>
<td colspan="3"><input type="text" id="plotAr" name="plotAr" style="ime-mode:disabled" maxlength="9" size="17"/> m²</td>
</tr>
<tr>
<th><span>*</span>인가대수</th>
<td><input type="text" id="cnfmAlge" name="cnfmAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대</td>
<th><span>*</span>차고지 신고면적</th>
<td><input type="text" id="garagAr" name="garagAr" size="17" style="ime-mode:disabled" maxlength="9"/> m²</td>
</tr>
<tr>
<th><span>*</span>주차규모<br/>(주차장 전체대수)</th>
<td><input type="text" id="parkngAlge" name="parkngAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
</td>
<th><span>*</span>가용대수</th>
<!-- <td><input type="text" id="cntrctAlge" name="cntrctAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대</td> -->
<td><input type="text" id="usefulAlge" name="usefulAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
</td>
</tr>
<tr>
<th><span>*</span>차고지 주소</th>
<td colspan="3">
<input type="text" id="postNo" name="postNo" class="1" size="7" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7"/>
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo','adres','detailAdres');"><span>검색</span></a>
<input type="text" id="adres" name="adres" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th>상세 주소</th>
<td colspan="3"><input type="text" id="detailAdres" name="detailAdres" size="118" /></td>
</tr>
<tr>
<th><span>*</span>차고지 관할관청</th>
<td colspan="3">
<select id="cmptncGrc" name="cmptncGrc">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}">${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>등록일자</th>
<td><input Type="text" Id="garageRegistDe" Name="garageRegistDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
<th>인가기간</th>
<td><input type="text" id="cnfmBeginDe" name="cnfmBeginDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/> ~ <input type="text" id="cnfmEndDe" name="cnfmEndDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
</tr>
<tr>
<th>임대여부</th>
<td><input type="checkbox" id="rentSe" name="rentSe" class="check" style="border: 0"/></td>
<th>문서번호</th>
<td><input type="text" id="etydoorNo" name="etydoorNo" size="17" maxlength="50"/></td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea type="text" id="rm" name="rm" class="max"></textarea></td>
</tr>
</tbody>
</table>
</div>
<!-- layer pop -->
<!-- //layer pop -->
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmla50_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" id="btnSave" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>등록</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<!-- layer pop -->
<div class="mw_layer" id="layerCarInfo" >
<form id="saveForm" name="saveForm" method="post" action="">
<input type="hidden" name="lcnsNo" value=""/>
<input type="hidden" name="buzplcManageId"/>
<input type="hidden" name="preparVhcleAt" />
<!-- 팝업 영역 시작-->
<div class="popWrap" style="height:520px !important;">
<!-- 팝업 header -->
<div class="pop-header" id="layerCarInfoHeader">
<h1><strong>차적 조회 결과</strong></h1>
<a href="#layer_anchor" class="close" title="닫기" onclick="javascript:$.unblockUI();">닫기</a>
</div>
<!-- //팝업 header -->
<!-- 팝업 body -->
<div class="pop-body" style="height:400px !important;">
<div class="table01">
<table>
<caption>차적 조회 결과</caption>
<colgroup>
<col width="18%" />
<col width="" />
<col width="18%" />
<col width="" />
</colgroup>
<tbody>
<%-- TODO 차적조회 I/F 연동 후 모든 항목을 readonly로 전환 할 것. --%>
<tr>
<th>차량번호</th>
<td>
<input type="hidden" name="vhcleNoPre"/>
<input type="hidden" name="vhcleNoRr"/>
<input type="text" id="vhcleNo" name="vhcleNo" readonly="readonly"/>
</td>
<th>대표소유자</th>
<td><input type="text" id="MBER_NM"/></td>
</tr>
<tr>
<th>차량최초등록일</th>
<td><input type="text" id="FRST_REGIST_DE"/></td>
<th>차령만료일</th>
<td><input type="text" id="CAAG_ENDDE"/></td>
</tr>
<tr>
<th>등록일(변경일)</th>
<td><input type="text" id="REGIST_DE" name="vhcleRegistDe"/></td>
<th>이전등록(양수일)</th>
<td><input type="text" id="TRANSR_REGIST_DE" name="transrRegistDe"/></td>
</tr>
<tr>
<th>취득일자</th>
<td><input type="text" id="ACQS_DE"/></td>
<th>이전차량번호</th>
<td><input type="text" id="FRNT_VHRNO" name="bfchgVhcleno"/></td>
</tr>
<tr>
<th>차명</th>
<td><input type="text" id="CNM" name="brwdnm"/></td>
<th>용도구분</th>
<td><input type="text" id="PRPOS_SE_CODE"/></td>
</tr>
<tr>
<th>형식</th>
<td><input type="text" id="FOM_NM"/></td>
<th>연식</th>
<td><input type="text" id="PRYE"/></td>
</tr>
<tr>
<th>차대번호</th>
<td><input type="text" id="VIN" name="atmblrgeNo"/></td>
<th>차종종별명</th>
<td><input type="text" id="VHCTY_ASORT_NM" name="vhctyAsortNm"/></td>
</tr>
<tr>
<th>차종유형명</th>
<td><input type="text" id="VHCTY_TY_NM" name="vhctyTyNm"/></td>
<th>차종분류명</th>
<td><input type="text" id="VHCTY_SE_NM" name="vhctyClNm"/></td>
</tr>
<tr>
<th>연료구분</th>
<td><input type="text" id="USE_FUEL_CODE" name="vhcleFuelSe"/></td>
<th>최대적재량</th>
<td><input type="text" id="MXMM_LDG" name="mxmmLdadngqy"/></td>
</tr>
<tr>
<th>승차정원</th>
<td><input type="text" id="TKCAR_PSCAP_CO" name="tkcarPsncpa"/></td>
<th>재원등록상태</th>
<td><input type="text" id="SPCF_REGIST_STTUS_CODE" name="vhcleSttusCode"/></td>
</tr>
<tr>
<th>소유자주소</th>
<td><input type="text" id="OWNER_ADRES_FULL" name=""/></td>
<th>색상명</th>
<td><input type="text" id="COLOR_NM" name=""/></td>
</tr>
<tr>
<th>사용본거지 주소</th>
<td colspan="3"><input type="text" id="" name=""/></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- //팝업 body -->
<!-- 버튼 -->
<div class="btn ar area">
<!-- <a href="#" class="btn-b" onclick="javascript:fnSave2();"><strong><span>확인</span></strong></a> -->
<a href="#layer_anchor" class="btn-w close" onclick="javascript:$.unblockUI();"><strong><span>닫기</span></strong></a>
</div>
<!-- // 버튼 -->
</div>
<!-- //팝업 영역 끝 -->
</form>
</div>
<!-- //layer pop -->
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco08.js"/>"></script>
<div id="smco08_pop" class="mw_layer"></div>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
$.unblockUI();
lmla50_list();
}
});
initDatePicker('cnfmBeginDe');
initDatePicker('cnfmEndDe');
initDatePicker('garageRegistDe');
});
/* 목록으로 이동 */
function lmla50_list(){
wfwSubmit('form','/lm/la/50/list.do');
}
/**
* 차량번호 조회
*/
function fnVhcleNo() {
// 차량번호 입력 확인
if(!checkLength('vhcleNo', 1, 9)){
openDialog('errorDialog', "차량번호<spring:message code='WFCO205'/>", null, 'vhcleNo');
return false;
}
var vhcleNo = $('#vhcleNo').val();
// 1. 차적조회
$.ajax({
url : '<c:url value="/lm/cmmn/ajaxFindVhcle.do"/>',
type : 'post',
async : true,
traditional : true,
data : {
searchVhcleNo : vhcleNo
},
beforeSend : function (jqXHR, settings) {
$.blockUI({ message : $('<div/>').html('차적조회중') });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('infoDialog', "<b>관리자에게 문의바랍니다</b><br><br>"+jqXHR.responseText);
$.unblockUI();
},
success : function (data, textStatus, jqXHR) {
var eaiResponse_rs = data.eaiResponse_rs;
if (eaiResponse_rs && eaiResponse_rs.length > 0) {
$('#MBER_NM').val(eaiResponse_rs[0].mber_NM);
$('#FRST_REGIST_DE').val(eaiResponse_rs[0].frst_REGIST_DE);
$('#CAAG_ENDDE').val(eaiResponse_rs[0].caag_ENDDE);
$('#REGIST_DE').val(eaiResponse_rs[0].regist_DE);
$('#TRANSR_REGIST_DE').val(eaiResponse_rs[0].transr_REGIST_DE);
$('#ACQS_DE').val(eaiResponse_rs[0].acqs_DE);
$('#FRNT_VHRNO').val(eaiResponse_rs[0].frnt_VHRNO);
$('#CNM').val(eaiResponse_rs[0].cnm);
$('#PRPOS_SE_CODE').val(eaiResponse_rs[0].prpos_SE_CODE);
$('#FOM_NM').val(eaiResponse_rs[0].fom_NM);
$('#PRYE').val(eaiResponse_rs[0].prye);
$('#VIN').val(eaiResponse_rs[0].vin);
$('#VHCTY_ASORT_NM').val(eaiResponse_rs[0].vhcty_ASORT_NM);
$('#VHCTY_TY_NM').val(eaiResponse_rs[0].vhcty_TY_NM);
$('#VHCTY_SE_NM').val(eaiResponse_rs[0].vhcty_SE_NM);
$('#USE_FUEL_CODE').val(eaiResponse_rs[0].use_FUEL_CODE);
$('#MXMM_LDG').val(eaiResponse_rs[0].mxmm_LDG);
$('#TKCAR_PSCAP_CO').val(eaiResponse_rs[0].tkcar_PSCAP_CO);
$('#SPCF_REGIST_STTUS_CODE').val(eaiResponse_rs[0].spcf_REGIST_STTUS_CODE);
$('#OWNER_ADRES_FULL').val(eaiResponse_rs[0].owner_ADRES_FULL);
$('#COLOR_NM').val(eaiResponse_rs[0].color_NM);
$('input[name=vhcleNo]', '#saveForm').val(vhcleNo);
$.unblockUI({
onUnblock: function() {
// 3. open 레이어
$.blockUI({ message : $('#layerCarInfo') });
}
});
} else {
openDialog('infoDialog', "<b>관리자에게 문의바랍니다</b><br><br>"+jqXHR.responseText);
$.unblockUI();
}
}
});
}
/** 주차장명 팝업 */
function fnSmCo08Callback(prkplceNm, prkplceId, parkngAlge, adres, detailAdres, postNo, prkplceAr, usefulAr, usefulAlge, cntrctAlge){
$('#prkplceNm').val(prkplceNm);
$('#prkplceId').val(prkplceId);
$('#adres').val(adres);
$('#detailAdres').val(detailAdres);
$('#postNo').val(postNo);
$('#plotAr').val(autoComma(prkplceAr)); //대지면적
$('#usefulAlge').val(usefulAlge);//가용대수
$('#cntrctAlge').val(cntrctAlge);//계약대수
$('#parkngAlge').val(autoComma(parkngAlge)); //주차대수
}
/* 면허번호 상세조회*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId) {
$('#lcnsNo').val(lcnsNo);
}
/*
* 입력값 검증
*/
function fnValidateValues() {
// 소유자명
if(lengthKor('bsnmNm') == 0){
openDialog('errorDialog', '사업자명을 입력하세요.', null, 'bsnmNm');
return false;
}else if(lengthKor('bsnmNm') > 50){
openDialog('errorDialog', '사업자명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('bnsnmNm')+')', null, 'bnsnmNm');
return false;
}
//대표자명
if(lengthKor('ownerNm') == 0){
openDialog('errorDialog', '대표자명을 입력하세요.', null, 'ownerNm');
return false;
}else if(lengthKor('ownerNm') > 30){
openDialog('errorDialog', '대표자명을 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('ownerNm')+')', null, 'ownerNm');
return false;
}
// 주민번호
/* if (!checkIhidnum2('inhbtntNo')) {
openDialog('errorDialog', '주민등록번호를 입력형식이 맞지 않습니다.', null, 'inhbtntNo');
return false;
} */
// 우편번호
/* if(isEmpty('postNo2')) {
openDialog('errorDialog', '우편번호를 선택하세요.', null, 'postNo2');
return false;
}else if(!checkPostNo('postNo2')){ //우편번호 정규식 체크
openDialog('errorDialog', '우편번호 형식에 맞게 입력해주세요.(타시도 차량 정보)', null, 'postNo2');
return false;
} */
// 주소
if(lengthKor('adres2') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres2');
return false;
}else if(lengthKor('adres2') > 50){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres2')+')', null, 'adres2');
return false;
}
// 상세주소
/* if(lengthKor('detailAdres2') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'detailAdres2');
return false;
}else if(lengthKor('detailAdres2') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres2')+')', null, 'detailAdres2');
return false;
} */
// 전화번호
/* if (!checkTelno('tlphon')) {
openDialog('errorDialog', '전화번호를 정확히 입력하세요.', null, 'tlphon');
return false;
} */
// 차량번호
if (isEmpty('vhcleNo')) {
openDialog('errorDialog', '차량번호를 선택하세요.', null, 'vhcleNo');
return false;
}
// 차고지분류
if (isEmpty('codeNm')) {
openDialog('errorDialog', '차고지분류를 선택하세요.', null, 'codeNm');
return false;
}
/* // 차고지명
if(lengthKor('garageNm') == 0){
openDialog('errorDialog', '차고지명을 입력하세요.', null, 'garageNm');
return false;
}else if(lengthKor('garageNm') > 50){
openDialog('errorDialog', '차고지명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('garageNm')+')', null, 'garageNm');
return false;
}
*/
// 주차장 주차 대수
if (isEmpty('parkngAlge')) {
openDialog('errorDialog', '주차장 주차 대수를 숫자로 입력하세요.', null, 'parkngAlge');
return false;
}
// 주차장 가용 대수
if (isEmpty('usefulAlge')) {
openDialog('errorDialog', '주차장 가용 대수를 숫자로 입력하세요.', null, 'usefulAlge');
return false;
}
// 인가대수
if (isEmpty('cnfmAlge')) {
openDialog('errorDialog', '인가대수를 입력하세요.', null, 'cnfmAlge');
return false;
}
/* // 대지면적
if (isEmpty('plotAr')) {
openDialog('errorDialog', '대지면적을 입력하세요.', null, 'plotAr');
return false;
} */
/*
// 우편번호
if (isEmpty('postNo')) {
openDialog('errorDialog', '우편번호를 선택하세요.', null, 'postNo');
return false;
}else if(!checkPostNo('postNo')){ //우편번호 정규식 체크
openDialog('errorDialog', '우편번호 형식에 맞게 입력해주세요.(차고지 정보)', null, 'postNo');
return false;
}
*/
// 주소
if(lengthKor('adres') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres');
return false;
}else if(lengthKor('adres') > 50){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres')+')', null, 'adres');
return false;
}
// 상세주소
/* if(lengthKor('detailAdres') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'detailAdres');
return false;
}else if(lengthKor('detailAdres') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres')+')', null, 'detailAdres');
return false;
} */
// 등록일
if (!checkDate('garageRegistDe')) {
openDialog('errorDialog', '등록일자을 선택하세요.', null, 'garageRegistDe');
return false;
}
/* // 인가시작
if (!checkDate('cnfmBeginDe')) {
openDialog('errorDialog', '인가시작일을 선택하세요.', null, 'cnfmBeginDe');
return false;
}
// 인가종료
if (!checkDate('cnfmEndDe')) {
openDialog('errorDialog', '인가종료일을 선택하세요.', null, 'cnfmEndDe');
return false;
} */
/* // 등록일자, 인가기간 유효성 체크 - 텍스트로 입력된 일자를 DATE로 복원하여 비교한다.
var startDate = $('#cnfmBeginDe').val().split("-"); //인가 시작일자
var endDate = $('#cnfmEndDe').val().split("-"); // 인가 끝일자
var regDate = $('#garageRegistDe').val().split("-"); // 등록일자
var sDate = new Date(startDate[0], startDate[1], startDate[2]).valueOf(); // DATE 변환 인가 시작일자
var eDate = new Date(endDate[0], endDate[1], endDate[2]).valueOf(); // DATE 변환 인가 끝일자
var rDate = new Date(regDate[0], regDate[1], regDate[2]).valueOf(); // DATE 변환 등록일자
if(sDate>eDate){
openDialog('errorDialog', '인가 시작일자가 인가 끝일자보다 클 수 없습니다.');
return false;
}
if(rDate>sDate){
openDialog('errorDialog', '등록일자보다 먼저 인가 시작일자를 지정 할 수 없습니다.');
return false;
} */
if(jQuery('#rentSe').is(":checked")){
$('#rentSeVal').val("Y");
}
/* // 문서번호
if(lengthKor('etydoorNo') == 0){
openDialog('errorDialog', '문서번호를 입력하세요.', null, 'etydoorNo');
return false;
}else if(lengthKor('etydoorNo') > 50){
openDialog('errorDialog', '문서번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('etydoorNo')+')', null, 'etydoorNo');
return false;
} */
// 비고 - 글자수 제한
if(lengthKor('rm') > 166){
openDialog('errorDialog','차고지 정보 - 비고 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('rm')+')', null, 'rm');
return false;
}
if(lengthKor('rm2') > 166){
openDialog('errorDialog','타시도 차량 정보 - 비고 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('rm2')+')', null, 'rm2');
return false;
}
openDialog('confirmSaveDialog', '자료를 등록 하시겠습니까?');
}
/* 등록 */
function fnSave(){
removeSpecific('cnfmAlge');
removeSpecific('parkngAlge');
removeSpecific('usefulAlge');
removeSpecific2('plotAr');
removeSpecific('postNo');
removeSpecific('postNo2');
if($('#prkplceNm').val() == null || $('#prkplceNm').val() == ""){ //주차장 검색 사용하지 않으면
// alert("g:"+$('#garageCnfmCntrctAlge').val());
$('#cntrctAlge').val($('#cnfmAlge').val());
}
removeSpecific2('garagAr');
if(isEmpty('garagAr')){
$('#garagAr').val(0);
}
$.ajax({
url : '<c:url value="/lm/la/50/ajaxInsertStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '자료가 등록 되었습니다.');
} else {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/** 초기화 */
function fnReset(){
$('#form')[0].reset();
$('#entrpsNm').text("");
$('#cprInhbtntRegistNo').text("");
$('#rprsntvNm').text("");
$('#rprsntvInhbtntRegistNo').text("");
$('#useStrnghldAdres').text("");
$('#indutyCode').text("");
}
</script>

@ -0,0 +1,711 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa5010InsertVO">
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="rentSeVal" name="rentSeVal" />
<input type="hidden" id="tempValBt" name="tempValBt" />
<input type="hidden" id="tempValLt" name="tempValLt" />
<input type="hidden" id="prkplceId" name="prkplceId" value="${garageDetail.prkplceId}" />
<input type="hidden" id="garageSe" name="garageSe" value="4"/>
<input type="hidden" id="garageId" name="garageId" value="${garageDetail.garageId}" />
<input type="hidden" id="otrctprvnVhcleId" name="otrctprvnVhcleId" value="${otrctprvnVhcleDetail.otrctprvnVhcleId}"/>
<input type="hidden" id="tempIndutyCode" name="tempIndutyCode" value="${otrctprvnVhcleDetail.indutyCode}"/>
<input type="hidden" id="checkModify" name="checkModify" value="N"/>
<input type="hidden" id="preGarageCnfmCntrctAlge" name="preGarageCnfmCntrctAlge" value="${garageDetail.cnfmAlge}"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>타시도차량 차고지 관리</span>
</p>
<h2>타시도 차량 차고지 수정</h2>
<h3>타시도 차량 정보</h3>
<div class="table01">
<table>
<caption>타시도 차량 정보 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>사업자명</th>
<td><input type="text" id="bsnmNm" name="bsnmNm" size="20" value="${otrctprvnVhcleDetail.bsnmNm}" maxlength="50"/></td>
<th><span>*</span>차량번호</th>
<td><input type="text" id="vhcleNo" name="vhcleNo" size="17" value="${otrctprvnVhcleDetail.vhcleNo}" maxlength="16" /><a href="#" class="btn-search ml10" onclick="javascript:fnVhcleNo();"><span>검색</span></a></td>
<%-- <th><span>*</span>주민등록번호</th>
<td><input type="text" id="inhbtntNo" name="inhbtntNo" size="18" value="${tbms_fn:printIhidnum2(pvtuseDetail.inhbtntNo)}" onkeypress="javascript:return wfwInhbtntDashFormat(this);" style="ime-mode:disabled" maxlength="14" /></td> --%>
</tr>
<tr>
<th><span>*</span>대표자(소유자)명</th>
<td colspan="3"><input type="text" id="ownerNm" name="ownerNm" class="mid" maxlength="30" value="${otrctprvnVhcleDetail.ownerNm}"/></td>
</tr>
<tr>
<th><span>*</span>업종</th>
<td>
<select id="indutyCode" name="indutyCode">
<option value=""> ===== 선택 ===== </option>
<c:forEach var="codeList" items="${indutyList }" varStatus="status">
<option value="${codeList.indutyCode}">${codeList.indutyNm}</option>
</c:forEach>
</select>
</td>
<th>전화번호</th>
<td><input type="text" id="tlphonNo" name="tlphonNo" size="17" value="${otrctprvnVhcleDetail.tlphonNo}" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" style="ime-mode:disabled" maxlength="13" /></td>
</tr>
<tr>
<th><span>*</span>주소</th>
<td colspan="3">
<input type="text" id="postNo2" name="postNo2" size="7" value="${otrctprvnVhcleDetail.postNo2}" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7" />
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo2','adres2','detailAdres2');"><span>검색</span></a>
<input type="text" id="adres2" name="adres2" value="${otrctprvnVhcleDetail.adres}" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th>상세주소</th>
<td colspan="3"><input type="text" id="detailAdres2" name="detailAdres2" value="${otrctprvnVhcleDetail.detailAdres}" size="118" maxlength="300"/></td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea id="rm2" name="rm2" class="max" maxlength="500">${otrctprvnVhcleDetail.rm}</textarea></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="combine">
<h3>차고지 정보</h3>
<div class="table01">
<table>
<caption>차고지 내역 입력 테이블</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>차고지 분류</th>
<td>
<select name="codeNm" id="codeNm" style="width:40%">
<option value=""> == 선택 ==</option>
<c:forEach items="${parntsCodeList}" var="parntsCodeList" varStatus="status">
<option value="${parntsCodeList.code}"<c:if test="${garageDetail.garageClCode == parntsCodeList.code}">selected="selected"</c:if>>${parntsCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
<th>차고지명</th>
<td><input type="text" id="garageNm" name="garageNm" size="20" value="${garageDetail.garageNm}" maxlength="50"/></td>
</tr>
<tr>
<th>주차장명</th>
<td><input type="text" id="prkplceNm" name="prkplceNm" value="${garageDetail.prkplceNm}" size="20" maxlength="50"/><a href="#" class="btn-search ml10" onclick="javascript:fnOpenSmCo08Pop();return false;"><span>검색</span></a>
<span style="color:red;font-weight:bold;">*주차장검색을 사용하지 않는 경우 주차장명 입력시 오류에 원인이 됩니다.*</span>
</td>
<th><span>*</span>변경사유</th>
<td>
<select id="changeResnCode" name="changeResnCode">
<option value="">== 선택 ==</option>
<c:forEach items="${changeResnCode}" var="changeResnCode" varStatus="status">
<option value="${changeResnCode.code}">${changeResnCode.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>주차장 대지면적</th>
<td colspan="3"><input type="text" id="plotAr" name="plotAr" style="ime-mode:disabled" maxlength="9" size="17" value="${tbms_fn:maskNumber(garageDetail.plotAr, 3)}" /> m²</td>
</tr>
<tr>
<th><span>*</span>인가대수</th>
<td><input type="text" id="cnfmAlge" name="cnfmAlge" size="17" value="${tbms_fn:maskNumber(garageDetail.cnfmAlge, 3)}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대</td>
<th><span>*</span>차고지 신고면적</th>
<td><input type="text" id="garagAr" name="garagAr" size="17" value="${garageDetail.garagAr}" onkeyup="javascript:this.value=autoComma(this.value);" style="ime-mode:disabled" maxlength="9"/> m²</td>
</tr>
<c:choose>
<c:when test="${garageDetail.prkplceId eq null }">
<tr>
<th><span>*</span>주차규모<br/>(주차장 전체대수)</th>
<td><input type="text" id="parkngAlge" name="parkngAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
</td>
<th><span>*</span>가용대수</th>
<!-- <td><input type="text" id="cntrctAlge" name="cntrctAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대</td> -->
<td><input type="text" id="usefulAlge" name="usefulAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
<input type="hidden" id="cntrctAlge" name="cntrctAlge" /><!-- 주차장 계약 대수 -->
</td>
</tr>
</c:when>
<c:otherwise>
<tr>
<th>주차규모(대수)</th>
<td><input type="text" id="parkngAlge" name="parkngAlge" size="17" value="${prkplceDetail.parkngAlge }" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
</td>
<th>가용대수</th>
<!-- <td><input type="text" id="cntrctAlge" name="cntrctAlge" size="17" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대</td> -->
<td><input type="text" id="usefulAlge" name="usefulAlge" size="17" value="${prkplceDetail.usefulAlge }" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" style="ime-mode:disabled" maxlength="10"/> 대
<br/><span style="color:red;font-weight:bold;">*자가,타시도,기타등 자동 입력되지 않는 경우 <br>해당 계약대수와 동일하게 작성</span>
<input type="hidden" id="cntrctAlge" name="cntrctAlge" value="${prkplceDetail.cntrctAlge }"/><!-- 주차장 계약 대수 -->
</td>
</tr>
</c:otherwise>
</c:choose>
<tr>
<th><span>*</span>차고지 주소</th>
<td colspan="3">
<input type="text" id="postNo" name="postNo" size="7" value="${garageDetail.postNo2}" onkeypress="javascript:return wfwPostDashFormat(this);" style="ime-mode:disabled" maxlength="7"/>
<a href="#" class="btn-search ml10" onclick="javascript:fnRoadJuso('postNo','adres','detailAdres');"><span>검색</span></a>
<input type="text" id="adres" name="adres" value="${garageDetail.adres}" class="ml20" size="100" maxlength="300"/>
</td>
</tr>
<tr>
<th>상세 주소</th>
<td colspan="3"><input type="text" id="detailAdres" name="detailAdres" value="${garageDetail.detailAdres}"size="118" /></td>
</tr>
<tr>
<th><span>*</span>차고지 관할관청</th>
<td colspan="3">
<select id="cmptncGrc" name="cmptncGrc">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == garageDetail.cmptncGrc}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>등록일자</th>
<td><input Type="text" Id="garageRegistDe" Name="garageRegistDe" value="${garageDetail.garageRegistDe}" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/></td>
<th>인가기간</th>
<td><input type="text" id="cnfmBeginDe" name="cnfmBeginDe" value="${tbms_fn:printDate(garageDetail.cnfmBeginDe)}" class="calendar" onKeyPress="return wfwDateDashFormat(this)" style="ime-mode:disabled" maxlength="10"/> ~ <input type="text" id="cnfmEndDe" name="cnfmEndDe" class="calendar" onKeyPress="return wfwDateDashFormat(this)" value="${tbms_fn:printDate(garageDetail.cnfmEndDe)}" style="ime-mode:disabled" maxlength="10"/></td>
</tr>
<tr>
<th>임대여부</th>
<td><input type="checkbox" id="rentSe" name="rentSe" class="check" style="border: 0"/></td>
<th>문서번호</th>
<td><input type="text" id="etydoorNo" name="etydoorNo" value="${garageDetail.etydoorNo}" size="17" maxlength="50"/></td>
</tr>
<tr>
<th>비고</th>
<td colspan="3"><textarea type="text" id="rm" name="rm" class="max">${garageDetail.rm}</textarea></td>
</tr>
</tbody>
</table>
</div>
<!-- layer pop -->
<!-- //layer pop -->
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmla30_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" id="btnSave" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>수정</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
</form:form>
<!-- layer pop -->
<div class="mw_layer" id="layerCarInfo" >
<form id="saveForm" name="saveForm" method="post" action="">
<input type="hidden" name="lcnsNo" value=""/>
<input type="hidden" name="buzplcManageId"/>
<input type="hidden" name="preparVhcleAt" />
<!-- 팝업 영역 시작-->
<div class="popWrap" style="height:520px !important;">
<!-- 팝업 header -->
<div class="pop-header" id="layerCarInfoHeader">
<h1><strong>차적 조회 결과</strong></h1>
<a href="#layer_anchor" class="close" title="닫기" onclick="javascript:$.unblockUI();">닫기</a>
</div>
<!-- //팝업 header -->
<!-- 팝업 body -->
<div class="pop-body" style="height:400px !important;">
<div class="table01">
<table>
<caption>차적 조회 결과</caption>
<colgroup>
<col width="18%" />
<col width="" />
<col width="18%" />
<col width="" />
</colgroup>
<tbody>
<%-- TODO 차적조회 I/F 연동 후 모든 항목을 readonly로 전환 할 것. --%>
<tr>
<th>차량번호</th>
<td>
<input type="hidden" name="vhcleNoPre"/>
<input type="hidden" name="vhcleNoRr"/>
<input type="text" id="vhcleNo" name="vhcleNo" readonly="readonly"/>
</td>
<th>대표소유자</th>
<td><input type="text" id="MBER_NM"/></td>
</tr>
<tr>
<th>차량최초등록일</th>
<td><input type="text" id="FRST_REGIST_DE"/></td>
<th>차령만료일</th>
<td><input type="text" id="CAAG_ENDDE"/></td>
</tr>
<tr>
<th>등록일(변경일)</th>
<td><input type="text" id="REGIST_DE" name="vhcleRegistDe"/></td>
<th>이전등록(양수일)</th>
<td><input type="text" id="TRANSR_REGIST_DE" name="transrRegistDe"/></td>
</tr>
<tr>
<th>취득일자</th>
<td><input type="text" id="ACQS_DE"/></td>
<th>이전차량번호</th>
<td><input type="text" id="FRNT_VHRNO" name="bfchgVhcleno"/></td>
</tr>
<tr>
<th>차명</th>
<td><input type="text" id="CNM" name="brwdnm"/></td>
<th>용도구분</th>
<td><input type="text" id="PRPOS_SE_CODE"/></td>
</tr>
<tr>
<th>형식</th>
<td><input type="text" id="FOM_NM"/></td>
<th>연식</th>
<td><input type="text" id="PRYE"/></td>
</tr>
<tr>
<th>차대번호</th>
<td><input type="text" id="VIN" name="atmblrgeNo"/></td>
<th>차종종별명</th>
<td><input type="text" id="VHCTY_ASORT_NM" name="vhctyAsortNm"/></td>
</tr>
<tr>
<th>차종유형명</th>
<td><input type="text" id="VHCTY_TY_NM" name="vhctyTyNm"/></td>
<th>차종분류명</th>
<td><input type="text" id="VHCTY_SE_NM" name="vhctyClNm"/></td>
</tr>
<tr>
<th>연료구분</th>
<td><input type="text" id="USE_FUEL_CODE" name="vhcleFuelSe"/></td>
<th>최대적재량</th>
<td><input type="text" id="MXMM_LDG" name="mxmmLdadngqy"/></td>
</tr>
<tr>
<th>승차정원</th>
<td><input type="text" id="TKCAR_PSCAP_CO" name="tkcarPsncpa"/></td>
<th>재원등록상태</th>
<td><input type="text" id="SPCF_REGIST_STTUS_CODE" name="vhcleSttusCode"/></td>
</tr>
<tr>
<th>소유자주소</th>
<td><input type="text" id="OWNER_ADRES_FULL" name=""/></td>
<th>색상명</th>
<td><input type="text" id="COLOR_NM" name=""/></td>
</tr>
<tr>
<th>사용본거지 주소</th>
<td colspan="3"><input type="text" id="" name=""/></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- //팝업 body -->
<!-- 버튼 -->
<div class="btn ar area">
<!-- <a href="#" class="btn-b" onclick="javascript:fnSave2();"><strong><span>확인</span></strong></a> -->
<a href="#layer_anchor" class="btn-w close" onclick="javascript:$.unblockUI();"><strong><span>닫기</span></strong></a>
</div>
<!-- // 버튼 -->
</div>
<!-- //팝업 영역 끝 -->
</form>
</div>
<!-- //layer pop -->
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco08.js"/>"></script>
<div id="smco08_pop" class="mw_layer"></div>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
$.unblockUI();
lmla30_list();
}
});
initDatePicker('cnfmBeginDe');
initDatePicker('cnfmEndDe');
initDatePicker('garageRegistDe');
$('#indutyCode').val($('#tempIndutyCode').val()); //업종 코드 셀렉트값 셋팅
if('${garageDetail.rentSe}' == 'Y'){
jQuery('input[id=rentSe]').attr("checked", true);
}
});
/* 목록으로 이동 */
function lmla30_list() {
wfwSubmit('form','/lm/la/50/list.do');
}
/**
* 차량번호 조회
*/
function fnVhcleNo() {
// 차량번호 입력 확인
if(!checkLength('vhcleNo', 1, 9)){
openDialog('errorDialog', "차량번호<spring:message code='WFCO205'/>", null, 'vhcleNo');
return false;
}
var vhcleNo = $('#vhcleNo').val();
// 1. TODO 차적조회
$.ajax({
url : '<c:url value="/lm/cmmn/ajaxFindVhcle.do"/>',
type : 'post',
async : true,
traditional : true,
data : {
searchVhcleNo : vhcleNo
},
beforeSend : function (jqXHR, settings) {
$.blockUI({ message : $('<div/>').html('차적조회중') });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('infoDialog', "<b>관리자에게 문의바랍니다</b><br><br>"+jqXHR.responseText);
$.unblockUI();
},
success : function (data, textStatus, jqXHR) {
var eaiResponse_rs = data.eaiResponse_rs;
if (eaiResponse_rs && eaiResponse_rs.length > 0) {
$('#MBER_NM').val(eaiResponse_rs[0].mber_NM);
$('#FRST_REGIST_DE').val(eaiResponse_rs[0].frst_REGIST_DE);
$('#CAAG_ENDDE').val(eaiResponse_rs[0].caag_ENDDE);
$('#REGIST_DE').val(eaiResponse_rs[0].regist_DE);
$('#TRANSR_REGIST_DE').val(eaiResponse_rs[0].transr_REGIST_DE);
$('#ACQS_DE').val(eaiResponse_rs[0].acqs_DE);
$('#FRNT_VHRNO').val(eaiResponse_rs[0].frnt_VHRNO);
$('#CNM').val(eaiResponse_rs[0].cnm);
$('#PRPOS_SE_CODE').val(eaiResponse_rs[0].prpos_SE_CODE);
$('#FOM_NM').val(eaiResponse_rs[0].fom_NM);
$('#PRYE').val(eaiResponse_rs[0].prye);
$('#VIN').val(eaiResponse_rs[0].vin);
$('#VHCTY_ASORT_NM').val(eaiResponse_rs[0].vhcty_ASORT_NM);
$('#VHCTY_TY_NM').val(eaiResponse_rs[0].vhcty_TY_NM);
$('#VHCTY_SE_NM').val(eaiResponse_rs[0].vhcty_SE_NM);
$('#USE_FUEL_CODE').val(eaiResponse_rs[0].use_FUEL_CODE);
$('#MXMM_LDG').val(eaiResponse_rs[0].mxmm_LDG);
$('#TKCAR_PSCAP_CO').val(eaiResponse_rs[0].tkcar_PSCAP_CO);
$('#SPCF_REGIST_STTUS_CODE').val(eaiResponse_rs[0].spcf_REGIST_STTUS_CODE);
$('#OWNER_ADRES_FULL').val(eaiResponse_rs[0].owner_ADRES_FULL);
$('#COLOR_NM').val(eaiResponse_rs[0].color_NM);
$('input[name=vhcleNo]', '#saveForm').val(vhcleNo);
$.unblockUI({
onUnblock: function() {
// 3. open 레이어
$.blockUI({ message : $('#layerCarInfo') });
}
});
} else {
openDialog('infoDialog', "<b>관리자에게 문의바랍니다</b><br><br>"+jqXHR.responseText);
$.unblockUI();
}
}
});
}
/** 주차장명 팝업 */
function fnSmCo08Callback(prkplceNm, prkplceId, parkngAlge, adres, detailAdres, postNo, prkplceAr, usefulAr, usefulAlge, cntrctAlge){
$('#prkplceNm').val(prkplceNm);
$('#prkplceId').val(prkplceId);
$('#adres').val(adres);
$('#detailAdres').val(detailAdres);
$('#postNo').val(postNo);
$('#plotAr').val(autoComma(prkplceAr)); //대지면적
$('#usefulAlge').val(usefulAlge);//가용대수
$('#cntrctAlge').val(cntrctAlge);//계약대수
$('#parkngAlge').val(autoComma(parkngAlge)); //주차대수
}
/* 면허번호 상세조회*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId) {
$('#lcnsNo').val(lcnsNo);
}
/*
* 입력값 검증
*/
function fnValidateValues() {
$('#tempValBt').val($('#bt').val());
$('#tempValLt').val($('#lt').val());
// 사업자명
if(lengthKor('bsnmNm') == 0){
openDialog('errorDialog', '사업자명을 입력하세요.', null, 'bsnmNm');
return false;
}else if(lengthKor('bsnmNm') > 50){
openDialog('errorDialog', '사업자명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('bsnmNm')+')', null, 'owner');
return false;
}
//대표자명
if(lengthKor('ownerNm') == 0){
openDialog('errorDialog', '대표자명을 입력하세요.', null, 'ownerNm');
return false;
}else if(lengthKor('ownerNm') > 30){
openDialog('errorDialog', '대표자명을 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('ownerNm')+')', null, 'ownerNm');
return false;
}
// 주민번호
/* if (!checkIhidnum2('inhbtntNo')) {
openDialog('errorDialog', '주민등록번호를 입력형식이 맞지 않습니다.', null, 'inhbtntNo');
return false;
} */
// 우편번호
/* if (isEmpty('postNo2')) {
openDialog('errorDialog', '우편번호를 선택하세요.', null, 'postNo2');
return false;
}else if(!checkPostNo('postNo2')){ //우편번호 정규식 체크
openDialog('errorDialog', '우편번호 형식에 맞게 입력해주세요.(타시도 차량 정보)', null, 'postNo2');
return false;
} */
// 주소
if(lengthKor('adres2') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres2');
return false;
}else if(lengthKor('adres2') > 50){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres2')+')', null, 'adres2');
return false;
}
// 상세주소
/* if(lengthKor('detailAdres2') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'detailAdres2');
return false;
}else if(lengthKor('detailAdres2') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres2')+')', null, 'detailAdres2');
return false;
} */
// 차량번호
if (isEmpty('vhcleNo')) {
openDialog('errorDialog', '차량번호를 선택하세요.', null, 'vhcleNo');
return false;
}
// 차고지분류
if (isEmpty('codeNm')) {
openDialog('errorDialog', '차고지분류를 선택하세요.', null, 'codeNm');
return false;
}
/* // 차고지명
if(lengthKor('garageNm') == 0){
openDialog('errorDialog', '차고지명을 입력하세요.', null, 'garageNm');
return false;
}else if(lengthKor('garageNm') > 50){
openDialog('errorDialog', '차고지명 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('garageNm')+')', null, 'garageNm');
return false;
} */
// 주차장 주차 대수
if (isEmpty('parkngAlge')) {
openDialog('errorDialog', '주차장 주차 대수를 숫자로 입력하세요.', null, 'parkngAlge');
return false;
}
// 주차장 가용 대수
if (isEmpty('usefulAlge')) {
openDialog('errorDialog', '주차장 가용 대수를 숫자로 입력하세요.', null, 'usefulAlge');
return false;
}
// 인가대수
if (isEmpty('cnfmAlge')) {
openDialog('errorDialog', '인가대수를 입력하세요.', null, 'cnfmAlge');
return false;
}
/* // 대지면적
if (isEmpty('plotAr')) {
openDialog('errorDialog', '대지면적을 입력하세요.', null, 'plotAr');
return false;
} */
/*
// 우편번호
if (isEmpty('postNo')) {
openDialog('errorDialog', '우편번호를 선택하세요.', null, 'postNo');
return false;
}else if(!checkPostNo('postNo')){ //우편번호 정규식 체크
openDialog('errorDialog', '우편번호 형식에 맞게 입력해주세요.(차고지 정보)', null, 'postNo');
return false;
}
*/
// 주소
if(lengthKor('adres') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'adres');
return false;
}else if(lengthKor('adres') > 50){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('adres')+')', null, 'adres');
return false;
}
// 상세주소
/* if(lengthKor('detailAdres') == 0){
openDialog('errorDialog', '주소를 입력하세요.', null, 'detailAdres');
return false;
}else if(lengthKor('detailAdres') > 300){
openDialog('errorDialog', '주소 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('detailAdres')+')', null, 'detailAdres');
return false;
} */
// 등록일
if (!checkDate('garageRegistDe')) {
openDialog('errorDialog', '등록일자을 선택하세요.', null, 'garageRegistDe');
return false;
}
/* // 인가시작
if (!checkDate('cnfmBeginDe')) {
openDialog('errorDialog', '인가시작일을 선택하세요.', null, 'cnfmBeginDe');
return false;
}
// 인가종료
if (!checkDate('cnfmEndDe')) {
openDialog('errorDialog', '인가종료일을 선택하세요.', null, 'cnfmEndDe');
return false;
}
// 등록일자, 인가기간 유효성 체크 - 텍스트로 입력된 일자를 DATE로 복원하여 비교한다.
var startDate = $('#cnfmBeginDe').val().split("-"); //인가 시작일자
var endDate = $('#cnfmEndDe').val().split("-"); // 인가 끝일자
var regDate = $('#garageRegistDe').val().split("-"); // 등록일자
var sDate = new Date(startDate[0], startDate[1], startDate[2]).valueOf(); // DATE 변환 인가 시작일자
var eDate = new Date(endDate[0], endDate[1], endDate[2]).valueOf(); // DATE 변환 인가 끝일자
var rDate = new Date(regDate[0], regDate[1], regDate[2]).valueOf(); // DATE 변환 등록일자
if(sDate>eDate){
openDialog('errorDialog', '인가 시작일자가 인가 끝일자보다 클 수 없습니다.');
return false;
}
if(rDate>sDate){
openDialog('errorDialog', '등록일자보다 먼저 인가 시작일자를 지정 할 수 없습니다.');
return false;
}
*/
if(jQuery('#rentSe').is(":checked")){
$('#rentSeVal').val("Y");
}
/* // 문서번호
if(lengthKor('etydoorNo') == 0){
openDialog('errorDialog', '문서번호를 입력하세요.', null, 'etydoorNo');
return false;
}else if(lengthKor('etydoorNo') > 50){
openDialog('errorDialog', '문서번호 입력길이를 초과하였습니다.'+'(길이 : '+lengthKor('etydoorNo')+')', null, 'etydoorNo');
return false;
} */
openDialog('confirmSaveDialog', '자료를 등록 하시겠습니까?');
}
/* 등록 */
function fnSave(){
removeSpecific('cnfmAlge');
removeSpecific('parkngAlge');
removeSpecific('usefulAlge');
removeSpecific2('plotAr');
removeSpecific('postNo');
removeSpecific('postNo2');
var preCnfmAlge = '${garageDetail.cnfmAlge}';
if(preCnfmAlge != $('#cnfmAlge').val()){ //인가대수가 수정된 경우
$('#checkModify').val("Y");
}
if($('#prkplceNm').val() == null || $('#prkplceNm').val() == ""){ //주차장 검색 사용하지 않으면
$('#cntrctAlge').val($('#cnfmAlge').val());
}
removeSpecific2('garagAr');
if(isEmpty('garagAr')){
$('#garagAr').val(0);
}
$.ajax({
url : '<c:url value="/lm/la/50/ajaxUpdtStart.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료수정에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '자료가 수정 되었습니다.');
} else {
openDialog('errorDialog', '자료수정에 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
/** 초기화 */
function fnReset(){
$('#form')[0].reset();
$('#entrpsNm').text("");
$('#cprInhbtntRegistNo').text("");
$('#rprsntvNm').text("");
$('#rprsntvInhbtntRegistNo').text("");
$('#useStrnghldAdres').text("");
}
</script>

@ -0,0 +1,266 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<script type="text/javascript" src="<c:url value="/js/jquery.fileDownload.js"/>"></script>
<form:form id="form" name="form" commandName="lmLa5010SearchVO" >
<input type="hidden" id="searchYn" name="searchYn" value="Y"/>
<input type="hidden" id="otrctprvnVhcleId" name="otrctprvnVhcleId"/>
<input type="hidden" id="garageId" name="garageId"/>
<input type="hidden" id="downloadResn" name="downloadResn" /> <!-- 엑셀 다운로드 사유를 입력받고 내용을 서버로 전송할 때 사용함 -->
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>타시도차량 차고지 관리</span>
</p>
<h2>타시도차량 차고지 관리</h2>
<h3>대상 검색</h3>
<!-- search -->
<div class="table01">
<table>
<caption>대상 검색</caption>
<colgroup>
<col width="10%" />
<col width="25%" />
<col width="20%" />
<col width="15%" />
<col width="10%" />
<col width="20%" />
</colgroup>
<tbody>
<tr>
<th>사업자명</th>
<td>
<form:input type="text" id="searchBsnmNm" path="searchBsnmNm" size="17"></form:input>
</td>
<th>차량번호</th>
<td>
<form:input type="text" id="searchVhcleNo" path="searchVhcleNo" size="17"></form:input>
</td>
<th>차고지 관할관청</th>
<td>
<select id="searchPstinst" name="searchPstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmLa5010SearchVO.searchPstinst}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>등록일자</th>
<td>
<input type="text" id="searchStartGarageRegistDe" class="calendar" name="searchStartGarageRegistDe" maxlength="10" value="${lmLa5010SearchVO.searchStartGarageRegistDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
- <input type="text" id="searchEndGarageRegistDe" class="calendar" name="searchEndGarageRegistDe" maxlength="10" value="${lmLa5010SearchVO.searchEndGarageRegistDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
</td>
<th>선택일자기준(유효한 차고지 검색)</th>
<td>
<input type="text" id="searchAvailableDe" class="calendar" name="searchAvailableDe" maxlength="10" value="${lmLa5010SearchVO.searchAvailableDe}" onkeypress="javascript:return wfwDateDashFormat(this);" style="ime-mode:disabled"/>
</td>
<th>차고지 분류</th>
<td>
<select name="searchGarageSe" id="searchGarageSe">
<option value=""> == 전체 ==</option>
<c:forEach items="${garageCodeList}" var="garageCodeList" varStatus="status">
<option value="${garageCodeList.code}" <c:if test="${garageCodeList.code == lmLa5010SearchVO.searchGarageSe}">selected="selected"</c:if>>${garageCodeList.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:goRegistStart();"><strong><span>타시도차량 차고지 등록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1, true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
</div>
<div class="combine">
<h3 class="fl">타시도차량 차고지 목록<span class="explain">[총 건수 : <strong>${lmLa5010SearchVO.totalCount}</strong>건]</span></h3>
<%-- <p class="mb10 fr"><a href="#" onclick="javascript:fnExcel();"><img src="<c:url value="/images/sub/btn-excel.gif"/>" alt="엑셀저장" /></a></p> --%>
<p class="mb10 fr"><a href="#" onclick="javascript:fnOpenExcelDownloadReasonPop();"><img src="<c:url value="/images/sub/btn-excel.gif"/>" alt="엑셀저장" /></a></p>
<div class="scroll c_both"> <!-- 스크롤 CSS 추가 -->
<div class="table02">
<table id="list" name="list">
<caption>타시도차량 차고지 목록</caption>
<colgroup>
<col width="100" />
<col width="120" />
<col width="120" />
<col width="120" />
<col width="120" />
<col width="160" />
<col width="100" />
<col width="100" />
<col width="300" />
<col width="100" />
<col width="100" />
</colgroup>
<thead>
<tr>
<th>차량번호</th>
<th>업종</th>
<th>사업자명</th>
<th>차고지분류</th>
<th>차고지명</th>
<th>인가기간</th>
<th>인가대수</th>
<th>신고면적</th>
<th>차고지 주소</th>
<th>관할관청</th>
<th>담당자</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty lmLa5010list}">
<c:forEach var="lmLa5010list" items="${lmLa5010list}" varStatus="status">
<tr onclick="javascript:fnView('${lmLa5010list.otrctprvnVhcleId}', '${lmLa5010list.garageId}', this);" style="cursor:pointer;" >
<td class="textC">${lmLa5010list.vhcleNo}</td>
<td class="textC">${lmLa5010list.indutyCode}</a></td>
<td class="textC">${lmLa5010list.bsnmNm}</td>
<td class="textC">${lmLa5010list.garageClNm}</td>
<td class="textC">${lmLa5010list.garageNm}</td>
<td class="textC">${lmLa5010list.cnfmDe}</td>
<td class="textC">${lmLa5010list.cnfmAlge}</td>
<td class="textC">${lmLa5010list.garagAr} m²</td>
<td class="textC">${lmLa5010list.postNo} ${lmLa5010list.adres}</td>
<td class="textC">${lmLa5010list.cmptncGrcNm}</td>
<td class="textC">${lmLa5010list.updusr}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:if test="${lmLa5010SearchVO.searchYn == 'Y'}">
<tr><td colspan="11" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:if>
<c:if test="${lmLa5010SearchVO.searchYn != 'Y' }">
<tr><td colspan="11" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:if>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<p class="mt10">목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1, true, true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}" type="tbms" jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
$('#searchBsnmNm').focus();
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
}
});
initDatePicker('searchStartGarageRegistDe');
initDatePicker('searchEndGarageRegistDe');
initDatePicker('searchAvailableDe');
});
/* 목록 조회 */
function fnSearch(pageNo, button, listChk) {
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
if('${lmLa5010list}' == ''){
return false;
}
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '/lm/la/50/list.do');
}
/*
* 상세보기로 이동
*/
function fnView(otrctprvnVhcleId, garageId, obj) {
wfwTrSelected(obj); /*선택로우색변경 */
$('#otrctprvnVhcleId').val(otrctprvnVhcleId);
$('#garageId').val(garageId);
wfwSubmit('form', '/lm/la/50/goDetail.do');
}
/*
* 타시도차량등록
*/
function goRegistStart() {
wfwSubmit('form', '/lm/la/50/goRegistStart.do');
}
/*
* 초기화
*/
function fnReset(){
$('#searchBsnmNm').val('');
$('#searchVhcleNo').val('');
}
/*
* 엑셀 저장
*/
function fnExcel(){
var list = '${lmLa5010list}';
if(list == ''){
openDialog('infoDialog', "<spring:message code='WFCO100'/>", null, 'entrpsNm');
return false;
}
/** 엑셀다운로드 시작 **/
openProgressBar(); //프로그레스바 노출
$.fileDownload('<c:url value="/lm/la/50/excel.do"/>',{data:jQuery("#form").serialize()})
.done(function(){
closeProgressBar();
alert("엑셀 다운로드가 완료되었습니다.");
})
.fail(function(){
closeProgressBar();
alert("엑셀 다운로드시 오류가 발생하였습니다.");
});
/** 끝 **/
}
</script>

@ -0,0 +1,216 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form:form id="form" name="form" commandName="lmLa5010SearchVO">
<input type="hidden" id="searchIndutyCode" name="searchIndutyCode" value="${lmLa5010SearchVO.searchIndutyCode}" />
<input type="hidden" id="garageId" name="garageId" value="${garageDetail.garageId}" />
<input type="hidden" id="otrctprvnVhcleId" name="otrctprvnVhcleId" value="${otrctprvnVhcleDetail.otrctprvnVhcleId}" />
<input type="hidden" id="searchYn" name="searchYn" value="Y" />
<input type="hidden" id="prkplceId" name="prkplceId" value="${garageDetail.prkplceId}" />
<input type="hidden" id="cnfmAlge" name="cnfmAlge" value="${garageDetail.cnfmAlge}" />
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리기타업무</span><span>타시도차량 차고지 상세</span>
</p>
<h2>타시도차량 차고지 상세</h2>
<h3>타시도차량 차고지 정보</h3>
<div class="table01">
<table>
<caption>상세정보</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th>차량번호</th>
<td>${otrctprvnVhcleDetail.vhcleNo}</td>
<th>사업자명</th>
<td>${otrctprvnVhcleDetail.bsnmNm}</td>
</tr>
<tr>
<th>소유자명</th>
<td>${otrctprvnVhcleDetail.ownerNm}</td>
<th>업종</th>
<td>${otrctprvnVhcleDetail.indutyNm}</td>
</tr>
<tr>
<th>주소</th>
<td>${otrctprvnVhcleDetail.postNo} ${otrctprvnVhcleDetail.adres} ${otrctprvnVhcleDetail.detailAdres}</td>
<th>전화번호</th>
<td>${otrctprvnVhcleDetail.tlphonNo }</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3">${otrctprvnVhcleDetail.rm}</td>
</tr>
</tbody>
</table>
</div>
<div class="btn al">
<p class="fl"><a href="#" class="btn-w" onclick="javascript:fnReport();"><strong><span>차고지설치 확인증</span></strong></a></p>
<p class="fr"><a href="#" class="btn-w" onclick="javascript:goDelete();"><strong><span>삭제</span></strong></a></p>
</div>
</div>
<div class="combine">
<h3>차고지 상세</h3>
<div class="table01">
<table>
<caption>차고지 상세</caption>
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<th>차고지명</th>
<td>${garageDetail.garageNm}</td>
<th>차고지 분류</th>
<td>${garageDetail.garageCl}</td>
</tr>
<tr>
<th>주소</th>
<td colspan="3">${garageDetail.postNo} ${garageDetail.adres} ${garageDetail.detailAdres}</td>
</tr>
<tr>
<th>인가대수</th>
<td>${tbms_fn:maskNumber(garageDetail.cnfmAlge, 3)} 대</td>
<th>차고지 신고면적</th>
<td>${tbms_fn:maskNumber(garageDetail.garagAr, 3)} m²</td>
</tr>
<tr>
<th>인가기간</th>
<td>${garageDetail.cnfmDe}</td>
<th>등록일자</th>
<td>${garageDetail.garageRegistDe}</td>
</tr>
<tr>
<th>처리일시</th>
<td>${garageDetail.updtDt}</td>
<th>담당자</th>
<td>${garageDetail.updusrCmptncNm}(${garageDetail.updusr})</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3">${garageDetail.rm}</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:lmla50_list();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:goUpdtStart();"><strong><span>수정</span></strong></a>
</p>
</div>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'insertDialog', '정보', 400, null, { // 저장확인 dialog
'확인' : function () {
$(this).dialog('close');
}
});
});
/* 목록으로 이동 */
function lmla50_list() {
wfwSubmit('form','/lm/la/50/list.do');
}
/** 수정화면으로 이동 */
function goUpdtStart() {
wfwSubmit('form', '/lm/la/50/goUpdtStart.do');
}
/*
* 차고지 설치 확인증 출력(자기 관할관청 건만 차고지 설치 확인증 출력이 가능하다.(단,서울시사용자는 전부 출력 가능하다.))
*/
function fnReport(){
/*
var loginCmptncGrc = '${pstinst}';
var cmptncGrc = '${garageDetail.cmptncGrc}';
if( loginCmptncGrc != '6110000' && loginCmptncGrc != cmptncGrc ){
openDialog('errorDialog', "<spring:message code='LMPTGL023'/>");
return false;
}
*/
var fileNm = 'LMGM00O_RPT';
//var tempLcnsNoYn = '${tempLcnsNoYn}';
//var indutyCode = '${lcnsDetail.indutyCode}';
/* if(tempLcnsNoYn == 'true' ){
if(indutyCode == '121' || indutyCode == '122' || indutyCode == '123' || indutyCode == '131' || indutyCode == '132' || indutyCode == '133' || indutyCode == '134' || indutyCode == '135' || indutyCode == '136'
|| indutyCode == '137' || indutyCode == '138' || indutyCode == '141'){
fileNm = 'LMGM00T_LMPT_RPT';
}else{
fileNm = 'LMGM00T_RPT';
}
}else{
if(indutyCode == '121' || indutyCode == '122' || indutyCode == '123' || indutyCode == '131' || indutyCode == '132' || indutyCode == '133' || indutyCode == '134' || indutyCode == '135' || indutyCode == '136'
|| indutyCode == '137' || indutyCode == '138' || indutyCode == '141'){
fileNm = 'LMGM00_LMPT_RPT';
}else{
fileNm = 'LMGM00_RPT';
}
} */
var param = '${garageDetail.garageId}';
var userId = '${user}';
$('#reportForm').attr('action', '<c:url value="/ubi4/ubihtml.jsp"/>');
$('#reportForm input[name=file]').val(fileNm);
$('#reportForm input[name=arg]').val('pram1#' + param+'#userId#'+userId);
$('#reportForm').attr('target', 'rptDiv');
$('#reportForm').submit();
}
//차고지 삭제
function goDelete(){
$.ajax({
url : '<c:url value="/lm/la/50/ajaxGarageDelete.do"/>',
type : 'post',
async : false,
traditional : true,
data : $('#form').serialize(),
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
},
success : function (data, textStatus, jqXHR) {
if (data.result) {
openDialog('insertDialog', '자료가 삭제 되었습니다.');
wfwSubmit('form','/lm/la/50/list.do');
} else {
openDialog('errorDialog', '자료등록에 실패하였습니다.');
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
</script>

@ -0,0 +1,392 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<script type="text/javascript" src="<c:url value="/js/jquery.fileDownload.js"/>"></script>
<form:form id="form" name="form" method="post" commandName="lmTt0000LcnsSearchVO">
<input type="hidden" id="searchFlag" name="searchFlag" value="search"/>
<input type="hidden" id="searchLcnsNo" name="searchLcnsNo" value=""/>
<input type="hidden" id="bsnmManageId" name="bsnmManageId" value=""/>
<input type="hidden" id="resultEntrpsNm" name="resultEntrpsNm" value=""/>
<input type="hidden" id="resultLcnsNo" name="resultLcnsNo" value=""/>
<input type="hidden" id="selectedIndutyCode" value=""/>
<!-- test --> <input type="hidden" id="searchIndutyCode" value="${lmTt0000LcnsSearchVO.indutyCode}" />
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리 기타업무</span><span>업종 변경</span>
</p>
<h2>업종 변경 관리</h2>
<!-- search -->
<h3>검색조건</h3>
<div class="table01">
<table>
<caption>검색조건</caption>
<colgroup>
<col width="10%" />
<col width="25%" />
<col width="10%" />
<col width="25%" />
<col width="10%" />
<col width="20%" />
<col width="" />
<col width="" />
</colgroup>
<tbody>
<tr>
<th>차량번호</th>
<td><form:input type="text" id="vhcleNo" path="vhcleNo" class="med" maxlength="16" onkeypress="javascript:fnEnter(event);"/></td>
<th>업체명</th>
<td><form:input type="text" id="entrpsNm" onkeypress="javascript:fnEnter(event);" path="entrpsNm" maxlength="20" size="16"/></td>
<th>면허번호</th>
<td>
<form:input type="hidden" id="lcnsNo" path="lcnsNo"/>
<form:input type="text" id="realLcnsNo" path="realLcnsNo" readonly="true" size="8"/>
<a href="#" class="btn-search ml10" onclick="javascript:fnOpenSmCo07Pop('','');return false;"><span>조회</span></a>
</td>
</tr>
<tr>
<th>업종</th>
<td>
<input type="hidden" id="indutyCode" name="indutyCode"/>
<select id="codeList" name="codeList">
<option value=""> == 전체 == </option>
<c:forEach var="codeList" items="${indutyList}" varStatus="status">
<%-- <option value="${codeList.indutyCode}" <c:if test="${codeList.indutyCode == lmTt0000LcnsSearchVO.indutyCode}">selected="selected"</c:if>>${codeList.indutyNm}</option> --%>
<%-- <option value="${codeList.indutyCode}">${codeList.indutyNm}</option> --%>
<option value="${codeList.indutyCode}" <c:if test="${codeList.indutyCode == lmTt0000LcnsSearchVO.indutyCode}">selected="selected"</c:if>>${codeList.indutyNm}</option>
</c:forEach>
</select>
</td>
<th>관할관청</th>
<td>
<select id="searchPstinst" name="searchPstinst">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == lmTt0000LcnsSearchVO.searchPstinst}"> selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
<th>면허상태</th>
<td>
<select id="searchLcnsSttus" name="searchLcnsSttus">
<option value=""> == 전체 == </option>
<c:forEach var="row" items="${lcnsSttus}">
<option value="${row.code}" <c:if test="${row.code == lmTt0000LcnsSearchVO.searchLcnsSttus}"> selected="selected"</c:if>>${row.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn ar">
<p class="fl">
<span class="explain" style="background-image:none;"><strong style="background-image:none;">※ 현재 용달, 개별, 일반화물 업종에 한하여 업종 변경이 가능합니다.</strong></span>
</p>
<p class="fr">
<a href="#" class="btn-b" onclick="javascript:fnSearch(1,true);"><strong><span>검색</span></strong></a>
<a href="#" class="btn-w" onclick="javascript:fnReset();"><strong><span>초기화</span></strong></a>
</p>
</div>
<!-- //search -->
</div>
<div class="combine">
<!-- 업체 목록 -->
<h3 class="fl">면허목록
<span class="explain">[총 건수 : <strong>${lmTt0000LcnsSearchVO.totalCount}</strong>건]</span>
</h3>
<!-- <p class="mb10 fr"><a href="#" onclick="javascript:fnExcel();"><img src="/images/sub/btn-excel.gif" alt="엑셀저장" /></a></p> -->
<div class="scroll c_both"> <!-- 스크롤 CSS 추가 -->
<div class="table02">
<c:choose>
<%-- 개인(개별|용달)화물, 일반화물 --%>
<c:when test="${lmTt0000LcnsSearchVO.indutyCode == '211' || lmTt0000LcnsSearchVO.indutyCode == '221' || lmTt0000LcnsSearchVO.indutyCode == '232'}">
<table>
<caption>면허목록</caption>
<colgroup>
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="200" /> <!-- size -->
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
</colgroup>
<thead>
<tr>
<th>면허번호</th>
<th>업종</th>
<th>성명</th>
<th>주민(법인)등록번호</th>
<th>주소</th>
<th>전화번호</th>
<th>팩스번호</th>
<th>관할관청</th>
<th>면허상태</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty list}">
<c:set var="rowNo" value="${paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage)}"/>
<c:forEach var="row" items="${list }" varStatus="status">
<tr onclick="javascript:fnView('${row.lcnsNo }','${row.bsnmManageId }', '${row.indutyCode }', this)" style="cursor: pointer;">
<td class="textC">${row.realLcnsNo }</td>
<td class="textC">${row.indutyNm }</td>
<td class="textC">${row.entrpsNm }</td>
<td class="textC">${tbms_fn:printIhidnum2(row.cprInhbtntRegistNo)}</td>
<td class="textC">${row.adres }</td>
<td class="textC">${row.tlphonNo}</td>
<td class="textC">${row.faxNo}</td>
<td class="textC">${row.insttNm }</td>
<c:choose>
<c:when test="${row.lcnsSttusNm == '면허(등록)취소' or row.lcnsSttusNm == '인허가제한' or row.lcnsSttusNm == '감차대상에 의한 면허취소'}">
<td class="textC"><span style="color:red;font-weight:bold;">★ ${row.lcnsSttusNm }</span></td>
</c:when>
<c:otherwise>
<td class="textC">${row.lcnsSttusNm }</td>
</c:otherwise>
</c:choose>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:if test="${searchFlag == 'search'}">
<tr><td colspan="12" class="textC"><spring:message code='WFCO100'/></td></tr>
</c:if>
<c:if test="${searchFlag != 'search' }">
<tr><td colspan="12" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:if>
</c:otherwise>
</c:choose>
</tbody>
</table>
</c:when>
<c:otherwise>
<table>
<caption>면허목록</caption>
<colgroup>
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
<col width="200" /> <!-- size -->
<col width="100" />
<col width="100" />
<col width="100" />
<col width="100" />
</colgroup>
<thead>
<tr>
<th>면허번호</th>
<th>업종</th>
<th>성명</th>
<th>주민(법인)등록번호</th>
<th>주소</th>
<th>전화번호</th>
<th>팩스번호</th>
<th>관할관청</th>
<th>면허상태</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty list}">
<c:set var="rowNo" value="${paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage)}"/>
<c:forEach var="row" items="${list }" varStatus="status">
<tr onclick="javascript:fnView('${row.lcnsNo }','${row.bsnmManageId }', '${row.indutyCode }', this)" style="cursor: pointer;">
<td class="textC">${row.realLcnsNo }</td>
<td class="textC">${row.indutyNm}</td>
<td class="textC">${row.entrpsNm }</td>
<td class="textC">${tbms_fn:printIhidnum2(row.cprInhbtntRegistNo)}</td>
<td class="textC">${row.adres }</td>
<td class="textC">${row.tlphonNo }</td>
<td class="textC">${row.faxNo }</td>
<td class="textC">${row.insttNm }</td>
<c:choose>
<c:when test="${row.lcnsSttusNm == '면허(등록)취소' or row.lcnsSttusNm == '인허가제한' or row.lcnsSttusNm == '감차대상에 의한 면허취소'}">
<td class="textC"><span style="color:red;font-weight:bold;">★ ${row.lcnsSttusNm }</span></td>
</c:when>
<c:otherwise>
<td class="textC">${row.lcnsSttusNm }</td>
</c:otherwise>
</c:choose>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<c:if test="${searchFlag == 'search'}">
<tr><td colspan="17" class="textC"><span style="color:blue;font-weight:bold;"><spring:message code='WFCO100'/></span></td></tr>
</c:if>
<c:if test="${searchFlag != 'search' }">
<tr><td colspan="17" class="textC"><spring:message code='WFCO101'/></td></tr>
</c:if>
</c:otherwise>
</c:choose>
</tbody>
</table>
</c:otherwise>
</c:choose>
</div>
</div>
<p class="mt10">
목록
<form:select path="recordCountPerPage" onchange="javascript:fnSearch(1,true,true);">
<form:option value="20">20</form:option>
<form:option value="50">50</form:option>
<form:option value="100">100</form:option>
</form:select>
</p>
<div class="paging">
<ui:pagination paginationInfo="${paginationInfo}"
type="tbms"
jsFunction="fnSearch"/>
<form:hidden id="pageNo" path="pageNo" />
</div>
<!-- //업체 목록 -->
</div>
</form:form>
<%-- 면허번호 선택 레이어 시작 --%>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<script type="text/javascript">
/**
* 면허 선택 callback
*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId, realLcnsNo) {
$('#lcnsNo').val(lcnsNo);
$('#realLcnsNo').val(realLcnsNo);
//test
console.log("test.......... indutycode " + indutyCode);
$('#searchIndutyCode').val(indutyCode);
console.log("test.......... searchIndutycode " + $('#searchIndutyCode').val() );
$('#selectedIndutyCode').val(indutyCode);
}
</script>
<%-- 면허번호 선택 레이어 끝 --%>
<script type="text/javascript">
$(document).ready(function(){
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 오류메시지 출력을 위한 dialog 초기화
$('#entrpsNm').focus();
// 화물 외 업종은 검색 selectbox에서 제외한다.
$("#codeList option[value='111']").remove();
$("#codeList option[value='112']").remove();
$("#codeList option[value='121']").remove();
$("#codeList option[value='123']").remove();
$("#codeList option[value='124']").remove();
$("#codeList option[value='131']").remove();
$("#codeList option[value='132']").remove();
$("#codeList option[value='133']").remove();
$("#codeList option[value='134']").remove();
$("#codeList option[value='135']").remove();
$("#codeList option[value='136']").remove();
$("#codeList option[value='137']").remove();
$("#codeList option[value='138']").remove();
$("#codeList option[value='139']").remove();
$("#codeList option[value='141']").remove();
$("#codeList option[value='151']").remove();
$("#codeList option[value='233']").remove();
$("#codeList option[value='234']").remove();
$("#codeList option[value='235']").remove();
$("#codeList option[value='236']").remove();
$("#codeList option[value='241']").remove();
$("#codeList option[value='251']").remove();
$("#codeList option[value='511']").remove();
$("#codeList option[value='999']").remove();
});
/*
* 상세로 이동
*/
function fnView(lcnsNo, bsnmManageId, indutyCode, obj){
if(indutyCode != '211' && indutyCode != '221' && indutyCode != '232') {
alert("현재 용달, 개별, 일반화물 업종에 한하여 업종 변경이 가능합니다.");
return;
}
wfwTrSelected(obj);
$('#bsnmManageId').val(bsnmManageId);
$('#searchLcnsNo').val(lcnsNo);
$('#resultLcnsNo').val($('#lcnsNo').val());
$('#resultEntrpsNm').val($('#entrpsNm').val());
$('#vhcleNo').val($('#vhcleNo').val());
$('#resultJrofcnthgsmallAt').val($('#jrofcnthgsmallAt').val());
$('#indutyCode').val($('#codeList').val());
wfwSubmit('form','/lm/la/60/goDetail.do');
}
/*
* 엔터클릭시 조회
*/
function fnEnter(e){
if( e.keyCode == 13 ){
fnSearch(1,true);
}
}
/*
* 검색
*/
function fnSearch(pageNo, button, listChk) {
$('#indutyCode').val($('#codeList').val());
if( $("#entrpsNm").val()==""
&& $("#lcnsNo").val()==""
&& $("#vhcleNo").val()==""
&& $("#searchPstinst").val()==""
&& $("#searchLcnsSttus").val()==""
&& !$("#searchHdryAt").is(":checked")){
alert('검색조건을 1개 이상 입력 또는 선택하세요.');
return false;
}
var totalRecordCount = '${paginationInfo.totalRecordCount}';
var recordCountPerPage = '${paginationInfo.recordCountPerPage}';
if(!pagingCheck(totalRecordCount, recordCountPerPage, button)){
return false;
}
if(listChk){
var list = '${list}';
if(list == '[]'){
return false;
}
}
if (pageNo) {
$('#pageNo').val(pageNo);
}
console.log("test.............. searchIndutyCode: " + $('#searchIndutyCode').val());
openProgressBar(); //프로그레스바 노출
wfwSubmit('form', '<c:url value="/lm/la/60/list.do"/>');
}
/*
* 검색조건 초기화
*/
function fnReset(){
$('#entrpsNm').val('');
$('#lcnsNo').val('');
$('#realLcnsNo').val('');
$('#vhcleNo').val('');
$('#searchPstinst').val('');
}
</script>

@ -0,0 +1,354 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<%-- <form:form id="form" name="form" method="post" commandName="lmTt0000LcnsSearchVO"> --%>
<form:form id="form" name="form" method="post" commandName="lmTt0000LcnsSearchVO">
<input type="hidden" id="searchFlag" name="searchFlag" value="search"/>
<input type="hidden" id="searchLcnsNo" name="searchLcnsNo" value=""/>
<input type="hidden" id="bsnmManageId" name="bsnmManageId" value=""/>
<input type="hidden" id="resultEntrpsNm" name="resultEntrpsNm" value=""/>
<input type="hidden" id="resultLcnsNo" name="resultLcnsNo" value=""/>
<input type="hidden" id="lcnsNo" name="lcnsNo" value="${listBsnm.lcnsNo}"/>
<input type="hidden" id="realLcnsNo" name="realLcnsNo" value="${listBsnm.realLcnsNo}"/>
<input type="hidden" id="currentIndutyCode" name="currentIndutyCode" value="${listBsnm.indutyCode}"/>
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리 기타업무</span><span>업종 변경</span>
</p>
<h2>업종 변경 상세정보</h2>
<!-- search -->
<%-- <h3>타이틀3</h3>
* 화면 띄우기 TEST<br>
* TEST<br>
${listBsnm.lcnsNo}<br>
${listBsnm.realLcnsNo}<br>
${listBsnm.bsnmManageId}<br>
${listBsnm.entrpsNm}<br>
${listBsnm.rprsntvNm}<br>
${listBsnm.cprInhbtntRegistNo}<br>
${listBsnm.adres}<br>
${listBsnm.indutyCode}<br>
${listBsnm.indutyNm}<br>
${listBsnm.cmptncGrc}<br>
${listBsnm.cmptncGrcNm}<br>
<hr>
<c:forEach var="row" items="${listVhcle}" varStatus="status">
${row.vhcleNo}<br>
</c:forEach>
--%>
</div>
<div class="combine">
<div class="data-transform-free">
<div class="left-area">
<h3>변경 전</h3>
<div class="table01 multiplelist">
<table>
<caption>변경 전</caption>
<colgroup>
<col width="80px" />
<col width="" />
</colgroup>
<tbody>
<tr><th>면허번호</th>
<td>${listBsnm.realLcnsNo}</td>
</tr>
<tr><th>사업자명</th>
<td>${listBsnm.entrpsNm}</td>
</tr>
<tr><th>주민/법인등록번호</th>
<td>${tbms_fn:printIhidnum2(listBsnm.cprInhbtntRegistNo)}</td>
</tr>
<tr><th>주소</th>
<td>${listBsnm.adres}</td>
</tr>
<tr><th>업종</th>
<td>${listBsnm.indutyNm}</td>
</tr>
</tbody>
</table>
</div>
<!-- 차량목록 -->
<div class="table02 scroll-y mt10" style="height:205px;">
<table>
<caption>차량목록</caption>
<colgroup>
<col width="" />
</colgroup>
<thead>
<tr>
<th>차량번호</th>
</tr>
</thead>
<tbody id="vhcles">
<c:forEach var="row" items="${listVhcle}" varStatus="status">
<tr><td class="textC">
${row.vhcleNo}
</td></tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- 차량목록 -->
</div>
<div class="right-area">
<h3>변경 후</h3>
<div class="table01 multiplelist" id="normalDiv">
<table>
<caption>변경 후</caption>
<colgroup>
<col width="80px" />
<col width="" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>업종</th>
<td>
<select id="indutyCode">
<option value=""> == 선택 ==</option>
<option value="211">개인(개별)화물</option>
<option value="221">개인(용달)화물</option>
<option value="232">일반화물</option>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="table01 mt10" id="newRealLcnsForm" style="display:none;"> <!-- block/none -->
<table>
<caption>TEST</caption>
<colgroup>
<col width="120px" />
<col width="" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>변경할 면허번호</th>
<td>
<div class="btn" style="margin-top:0px">
<input type="text" id="newRealLcnsNo" name="newRealLcnsNo" class="med" maxlength="20" onsubmit="return false;"/>
<a href="#" class="btn-b" onclick="javascript:fnCheckNewRealLcnsNo();return false;"><strong><span>검색</span></strong></a>
</div>
</td>
</tbody>
</table>
</div>
<div class="combine" id="newRealLcnsMessageForm" style="display:block;">
<table>
<caption>Message</caption>
<colgroup>
<col width="50%" />
</colgroup>
<tbody>
<tr>
<td>
<span id="realLcnsNoMessage"></span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnGoList();"><strong><span>목록</span></strong></a>
</p>
<a id="inputButton" href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>등록</span></strong></a>
</div>
</div>
</form:form>
<script type="text/javascript">
var isAvailableRealLcnsNo;
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 정보메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'goPageDialog', '정보', 400, null, {
'확인' : function () {
$(this).dialog('close');
}
});
// 현재 업종 코드
var currentIndutyCode = $('#currentIndutyCode').val();
// 다른 업종으로 바꿀 경우 새면허번호 입력폼의 내용을 리셋하고 숨긴다.
$('#indutyCode').on("propertychange change keyup paste input", function() {
var realLcnsNoVal = $('#realLcnsNo').val();
$('#newRealLcnsNo').val('');
$('#newRealLcnsForm').hide();
if(realLcnsNoVal == '') {
console.log("값 없음......");
$('#newRealLcnsForm').hide();
} else {
console.log("******* " + realLcnsNoVal );
// 면허번호 체크하고 사용 가능한지 확인하여 새면허번호 입력폼을 보여주거나 숨기기
fnCheckRealLcnsNo(realLcnsNoVal, $('#indutyCode').val());
}
});
// 새면허번호를 입력했다가 삭제한 경우 다시 체크한다.
$('#newRealLcnsNo').on("propertychange change keyup paste input", function() {
if(!$('#newRealLcnsNo').val()) {
isAvailableRealLcnsNo = false;
}
fnCheckRealLcnsNo($('#newRealLcnsNo').val(), currentIndutyCode);
});
console.log("현재 업종 코드 확인: " + currentIndutyCode);
// 현재업종에서 현재업종으로는 선택할 수 없도록 선택박스에서 제거한다.
$('#indutyCode option').each(function() {
if(this.value == currentIndutyCode) {
//this.remove();
$("#indutyCode option[value="+currentIndutyCode+"]").remove();
console.log("**************** remove currentIndutyCode: "+ currentIndutyCode);
}
});
});
/*
* 목록으로 이동
*/
function fnGoList(){
//$('#lcnsNo').val('');
wfwSubmit('form','/lm/la/60/list.do');
}
function fnValidateValues() {
/* if($('#newRealLcnsForm').is(':visible') && $('#newRealLcnsNo').val() == '') {
openDialog('errorDialog',"변경할 면허번호를 검색한 후 업종을 변경하십시오.");
} */
if($('#indutyCode').val() == '') {
openDialog('errorDialog', "변경할 업종을 선택하십시오.");
return false;
}
if(!isAvailableRealLcnsNo) {
openDialog('errorDialog', "변경할 면허번호를 확인하십시오.");
return false;
}
openDialog('confirmSaveDialog', "<spring:message code='WFCO000'/>");
}
function fnSave() {
var newRealLcnsNo = $('#newRealLcnsNo').val();
// 새면허번호가 빈값일 경우 면허번호가 변경되지 않는 경우이므로, 원래 면허번호를 넣는다.
if(!newRealLcnsNo) {
//newRealLcnsNo = null;
newRealLcnsNo = $('#realLcnsNo').val();
}
var params = {
lcnsNo : $('#lcnsNo').val(),
indutyCode : $('#indutyCode').val(),
realLcnsNo : newRealLcnsNo
};
console.log("fnSave..... ajax 넘어갈 때 값 체크 => lcnsNo:" + params.lcnsNo + " / indutyCode: " + params.indutyCode + " / realLcnsNo: " + params.realLcnsNo);
$.ajax({
url : '<c:url value="/lm/la/60/ajaxUpdateInduty.do"/>',
type : 'post',
async : false,
traditional : true,
data : params,
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', "<spring:message code='WFCOGL100'/>");
},
success : function (data, textStatus, jqXHR) {
openDialog('goPageDialog',"업종이 변경되었습니다.");
fnView();
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
}
});
}
function fnCheckRealLcnsNo(paramRealLcnsNo, paramIndutyCode) {
console.log("입력값 => realLcnsNo: " + paramRealLcnsNo + " / indutyCode: " + paramIndutyCode);
if(!paramRealLcnsNo) {
$('#realLcnsNoMessage').html("<span color=red><strong>면허번호를 입력하십시오.</strong></span>");
return false;
}
if(!paramIndutyCode) {
$('#realLcnsNoMessage').html("업종을 선택하지 않았습니다.");
return false;
}
$.ajax({
url : '<c:url value="/lm/cmmn/ajaxValidateRealLcns.do"/>',
data : {
realLcnsNo : paramRealLcnsNo,
indutyCode : paramIndutyCode
},
success : function (data, textStatus, jqXHR) {
if (data['result']) {
// data: true로 온다 ===> 사용할 수 있는 면허번호
console.log("ajax ******* data: " + data['result'] + " 면허번호 사용 가능 !!!!!!!!!!!!");
$('#realLcnsNoMessage').html("업종 변경이 가능합니다. 등록 버튼을 눌러 업종을 변경하십시오.");
//$('#newRealLcnsForm').hide(); // 면허번호 폼 숨기지 않고 한 번 노출이 되면 계속 노출
isAvailableRealLcnsNo = true;
} else {
// 사용할 수 없는 면허번호
console.log("ajax ******* data: " + data['result'] + " 사용불가한 번호 --------------");
$('#realLcnsNoMessage').html("<span style='color:red'><strong>면허번호 중복으로 사용할 수 없는 면허번호입니다. 새로운 면허번호를 입력하십시오.</strong></span>");
$('#newRealLcnsForm').show(); // 면허번호 폼 보임
isAvailableRealLcnsNo = false;
}
}
});
}
function fnCheckNewRealLcnsNo() {
var newRealLcnsNoVal = $('#newRealLcnsNo').val();
if(newRealLcnsNoVal == '') {
console.log("값 없음......");
$('#realLcnsNoMessage').html("<span style='color:red'><strong>면허번호를 입력하십시오.</strong></span>");
} else {
console.log("******* " + newRealLcnsNoVal );
fnCheckRealLcnsNo(newRealLcnsNoVal, $('#indutyCode').val());
}
}
// 목록화면으로 이동
function fnView() {
wfwSubmit('form','/lm/la/60/list.do');
}
</script>

@ -0,0 +1,450 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form id="form" name="form" method="post">
<!-- input form -->
<input type="hidden" id="lcnsNo" name="lcnsNo" />
<input type="hidden" id="bsnmManageId" name="bsnmManageId" />
<input type="hidden" id="vhcleManageId" name="vhcleManageId" />
<input type="hidden" id="indutyCode" name="indutyCode" />
<input type="hidden" id="indutyNm" name="indutyNm" />
<input type="hidden" id="insttNm" name="insttNm" />
<input type="hidden" id="searchEcManageId" name="searchEcManageId" /> <!-- 자료등록 후 상세화면으로 이동할 때 사용 -->
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리 기타업무</span><span>전기택시 관리</span>
</p>
<h2>전기택시 등록</h2>
<div class="combine">
<h3>차량 검색</h3>
<div class="table01">
<table>
<caption>차량</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th>차량번호</th>
<td>
<input type="text" id="vhcleNo" name="vhcleNo" readonly="true" />
<a href="#" class="btn-search ml10" onclick="javascript:fnOpenSmCo32Pop();return false;"><span>조회</span></a>
</td>
</tr>
<tr>
<th>면허번호</th>
<td>
<input type="text" id="realLcnsNo" name="realLcnsNo" readonly="true" />
</td>
<th><span>*</span>차대번호</th>
<td>
<input type="text" id="atmblrgeNo" name="atmblrgeNo" size="20" maxlength="17" />
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="combine">
<h3>사업자 정보</h3>
<div class="table01">
<table>
<caption>사업자</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>사업자명</th>
<td>
<input type="text" id="entrpsNm" name="entrpsNm" maxlength="20" />
</td>
<th><span>*</span>사업자구분</th>
<td>
<select id="bsnsSe" name="bsnsSe" onchange="">
<option value=""> = 선택 = </option>
<c:forEach var="bsnsSe" items="${bsnsSe }" varStatus="status">
<option value="${bsnsSe.code}" <c:if test="${bsnsSe.code == listBsnm.bsnsSe}">selected="selected"</c:if>>${bsnsSe.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>주민(법인)등록번호</th>
<td>
<input type="text" id="cprInhbtntRegistNo" name="cprInhbtntRegistNo" onkeypress="javascript:return wfwInhbtntDashFormat(this);" style="ime-mode:disabled" maxlength="14" />
</td>
<th>전화번호</th>
<td>
<input type="text" id="tlphonNo" name="tlphonNo" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" maxlength="13" />
</td>
</tr>
<tr>
<th>관할관청</th>
<td colspan="3">
<select id="cmptncGrc" name="cmptncGrc">
<option value=""> == 선택 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == listBsnm.cmptncGrc}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="combine">
<h3>전기차 정보</h3>
<div class="table01">
<table>
<caption>전기차 정보 테이블</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>전기차 등록여부</th>
<td>
<!-- <input type="checkbox" id="ecRegistAt" name="ecRegistAt" checked="checked" value='Y' onclick="javascript:fnSetRegistAt();" /> -->
<input type="checkbox" id="ecRegistAt" name="ecRegistAt" checked="checked" value='Y' onclick="javascript:fnChangeCheckboxValue('#ecRegistAt');" />
<span style="color:red;font-weight:bold;">체크 해제 시 전기차에서 일반 차량으로 변경되고 전기차 관리 대상에서 제외됩니다.</span>
</td>
<th><span>*</span>신청차종명</th>
<td>
<input type="text" id="brwdnm" name="brwdnm" size="40" maxlength="25" />
</td>
</tr>
<tr>
<th>차량등록일</th>
<td>
<input type="text" id="vhcleRegistDe" name="vhcleRegistDe" class="calendar" maxlength="10" />
</td>
<th>보급연도</th>
<td>
<input type="text" id="supplyYear" name="supplyYear" maxlength="15" />
</td>
</tr>
<tr>
<th>의무보유 기간</th>
<td colspan="3">
<input type="text" id="possBeginDe" name="possBeginDe" class="calendar" maxlength="10" />~<input type="text" id="possEndDe" name="possEndDe" class="calendar" maxlength="10" />
</td>
</tr>
<tr>
<th>보조금</th>
<td>
<input type="text" id="subsidy" name="subsidy" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" maxlength="10" size="14" style="ime-mode:disabled"/>원
</td>
<th>보조금 지급일자</th>
<td>
<input type="text" id="subsidyDe" name="subsidyDe" class="calendar" maxlength="10" />
</td>
</tr>
<tr>
<th>배터리교체일자</th>
<td>
<input type="text" id="changeBtDe" name="changeBtDe" class="calendar" maxlength="10" style="ime-mode:disabled" />
</td>
</tr>
<tr>
<th>위반여부</th>
<td colspan="3">
<!-- <input type="checkbox" id="violtAt" name="violtAt" value='N' onclick="javascript:fnSetVioltAt();" /> -->
<input type="checkbox" id="violtAt" name="violtAt" value='N' onclick="javascript:fnChangeCheckboxValue('#violtAt');" />
<span style="color:red;font-weight:bold;">의무보유기간 내 용도변경, 양도양수 등 위반여부가 확인된 경우 체크합니다.</span>
</td>
</tr>
<tr>
<th><span>*</span>적용일자</th>
<td colspan="3">
<input type="text" id="applcDe" name="applcDe" class="caldendar" /> <span style="color:red;font-weight:bold;">이력 화면에서 적용일자를 기준으로 정렬됩니다.</span>
</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3">
<textarea id="rm" name="rm" class="max" maxlength="200"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnGoList();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>등록</span></strong></a>
</p>
</div>
</div> <!-- fir-combine -->
</form>
<%-- 면허번호 선택 레이어 시작 --%>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<%-- 면허번호 선택 레이어 끝 --%>
<%-- 면허번호 선택 레이어 시작 --%>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco15.js"/>"></script>
<div id="smco15_pop" class="mw_layer"></div>
<%-- 면허번호 선택 레이어 끝 --%>
<%-- 면허번호 선택 레이어 시작 --%>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco32.js"/>"></script>
<div id="smco32_pop" class="mw_layer"></div>
<%-- 면허번호 선택 레이어 끝 --%>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 정보메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'goPageDialog', '정보', 400, null, {
'확인' : function () {
$(this).dialog('close');
fnGoRegistCar();
}
}); // 정보메시지 출력 및 차량등록 페이지로 이동을 위한 dialog 초기화
initDatePicker('changeBtDe');
initDatePicker('vhcleRegistDe');
initDatePicker('ecRegistDe');
initDatePicker('possBeginDe');
initDatePicker('possEndDe');
initDatePicker('subsidyDe');
initDatePicker('applcDe');
fnInitCheckBox();
});
/**
* 면허 선택
*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId, realLcnsNo) {
$('#realLcnsNo').val(realLcnsNo);
}
/**
* 차량 선택
*/
function fnSmCo32Callback(lcnsNo, bsnmManageId, vhcleManageId, vhcleNo, atmblrgeNo, realLcnsNo, entrpsNm, bsnsSe, cprInhbtntRegistNo, tlphonNo, cmptncGrc, indutyCode, indutyNm, insttNm) {
console.log("fnSmCo32Callback() ................... \n" + " | lcnsNo: " + lcnsNo + " | bsnmManageId: " + bsnmManageId + " | vhcleManageId: " + vhcleManageId + " | vhcleNo: " + vhcleNo + " | atmblrgeNo: " + atmblrgeNo + " | realLcnsNo: " + realLcnsNo + " | entrpsNm: " + entrpsNm + " | bsnsSe: " + bsnsSe + " | cprInhbtntRegistNo: " + cprInhbtntRegistNo + " | tlphonNo: " + tlphonNo + " | cmptncGrc: " + cmptncGrc + " | indutyCode: " + indutyCode + " | indutyNm: " + indutyNm + " | insttNm: " + insttNm);
$('#vhcleNo').val(vhcleNo);
$('#atmblrgeNo').val(atmblrgeNo);
$('#atmblrgeNo').val(atmblrgeNo);
$('#realLcnsNo').val(realLcnsNo);
$('#entrpsNm').val(entrpsNm);
$('#bsnsSe').val(bsnsSe);
$('#cprInhbtntRegistNo').val(cprInhbtntRegistNo);
$('#tlphonNo').val(tlphonNo);
$('#cmptncGrc').val(cmptncGrc);
// hidden
$('#lcnsNo').val(lcnsNo);
$('#bsnmManageId').val(bsnmManageId);
$('#vhcleManageId').val(vhcleManageId);
$('#indutyCode').val(indutyCode);
$('#indutyNm').val(indutyNm);
$('#insttNm').val(insttNm);
}
function fnValidateValues() {
if(isEmpty('vhcleNo')) {
openDialog('errorDialog',"차량번호가 없습니다.<br>차량번호를 검색한 후 선택해주세요.");
return false;
}
if(isEmpty('atmblrgeNo')) {
openDialog('errorDialog',"차대번호가 없습니다.<br>면허관리→면허관리기타업무→자동차망대량연계 메뉴에서 차량제원을 업데이트 해주세요.");
return false;
}
if(isEmpty('entrpsNm')) {
openDialog('errorDialog',"사업자명을 입력하십시오.");
return false;
}
if(isEmpty('bsnsSe')) {
openDialog('errorDialog',"사업자구분을 선택하십시오.");
return false;
}
if(isEmpty('cprInhbtntRegistNo')) {
openDialog('errorDialog',"주민(법인)등록번호를 입력하십시오.");
return false;
}
if(isEmpty('cmptncGrc')) {
openDialog('errorDialog',"관할관청을 선택하십시오.");
return false;
}
if(isEmpty('brwdnm')) {
openDialog('errorDialog',"차종명을 입력하십시오.");
return false;
}
if(isEmpty('applcDe')) {
openDialog('errorDialog',"적용일자를 입력하십시오.", null, 'applcDe');
return false;
}
// 날짜 형식 확인
if(!checkDate('applcDe')) {
openDialog('errorDialog',"적용일자를 확인 후 다시 입력하십시오.");
return false;
}
openDialog('confirmSaveDialog', "자료를 등록하시겠습니까?");
}
function fnSave() {
// ajax => form => controller
fnFormat(true);
var formData = $('#form').serialize();
$.each($('form input[type=checkbox]')
.filter(function(idx) {
return $(this).prop('checked') === false
}),
function(idx, el) {
var emptyVal = 'N';
formData += '&' + $(el).attr('name') + '=' + emptyVal;
}
);
$.ajax({
url : '<c:url value="/lm/la/70/ajaxRegist.do"/>',
type : 'post',
async : false,
traditional : true,
//data : $('#form').serialize(),
data : formData,
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', jqXHR.responseText);
},
success : function (data, textStatus, jqXHR) {
if (data.result == true) {
openDialog('infoDialog',"자료 등록 성공");
//alert('등록 결과: ' + data.ecManageId);
//var ecManageId = $('#ecManageId').val();
//fnView(ecManageId);
fnView(data.ecManageId);
} else {
openDialog('errorDialog', jqXHR.responseText);
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
fnFormat(false);
}
});
}
function fnFormat(tf) {
console.log("***************** fnFormat() ****************");
if(tf) {
if(!isEmpty('cprInhbtntRegistNo')){
removeSpecific('cprInhbtntRegistNo'); //법인등록번호
}
if(!isEmpty('vhcleRegistDe')) {
removeSpecific('vhcleRegistDe');
}
if(!isEmpty('changeBtDe')) {
removeSpecific('changeBtDe');
}
/*
if(!isEmpty('ecRegistDe')) {
removeSpecific('ecRegistDe');
}
*/
if(!isEmpty('possBeginDe')) {
removeSpecific('possBeginDe');
}
if(!isEmpty('possEndDe')) {
removeSpecific('possEndDe');
}
if(!isEmpty('subsidy')) {
removeSpecific('subsidy');
}
if(!isEmpty('subsidyDe')) {
removeSpecific('subsidyDe');
}
if(!isEmpty('applcDe')) {
removeSpecific('applcDe');
}
}
}
function fnChangeCheckboxValue(checkboxId) {
var checkValue = $(checkboxId).val();
if(checkValue == 'Y') {
$(checkboxId).val('N');
} else {
$(checkboxId).val('Y');
}
console.log("********* Setting " + checkboxId + "().val(): " + $(checkboxId).val());
}
function fnInitCheckBox() {
/* $("input[id=ecRegistAt]:checkbox").attr("checked",true);
$("input[id=violtAt]:checkbox").attr("checked",false); */
console.log("********** Init checkbox, ecRegistAt: " + $('#ecRegistAt').val());
console.log("********** Init checkbox, violtAt: " + $('#violtAt').val());
}
function fnGoList(){
wfwSubmit('form', '/lm/la/70/list.do');
}
function fnView(ecManageId) {
$('#searchEcManageId').val(ecManageId);
wfwSubmit('form','/lm/la/70/goDetail.do');
}
</script>

@ -0,0 +1,436 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form id="form" name="form" method="post" commandName="lmLa7010SearchVO">
<!-- input form -->
<input type="hidden" id="ecManageId" name="ecManageId" value="${listEc.ecManageId}" />
<input type="hidden" id="lcnsNo" name="lcnsNo" value="${listEc.lcnsNo}" />
<input type="hidden" id="vhcleManageId" name="vhcleManageId" value="${listEc.vhcleManageId}" />
<input type="hidden" id="searchEcManageId" name="searchEcManageId" /> <!-- 자료등록 후 상세화면으로 이동할 때 사용 -->
<input type="hidden" id="searchFlag" name="searchFlag" value="search" /> <!-- 목록으로 이동할 때 사용 -->
<input type="hidden" id="searchVioltAt" path="searchVioltAt" /> <!-- 목록 이동 시 체크 -->
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리 기타업무</span><span>전기택시 관리</span>
</p>
<h2>전기택시 정보 수정</h2>
<div class="combine">
<h3>차량 검색</h3>
<div class="table01">
<table>
<caption>차량</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th>차량번호</th>
<td>
<input type="text" id="vhcleNo" name="vhcleNo" readonly="true" value="${listEc.vhcleNo}" />
</td>
</tr>
<tr>
<th>면허번호</th>
<td>
<input type="text" id="realLcnsNo" name="realLcnsNo" readonly="true" value="${listEc.realLcnsNo}" />
</td>
<th><span>*</span>차대번호</th>
<td>
<input type="text" id="atmblrgeNo" name="atmblrgeNo" size="20" value="${listEc.atmblrgeNo}" maxlength="17" />
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="combine">
<h3>사업자 정보</h3>
<div class="table01">
<table>
<caption>사업자</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>사업자명</th>
<td>
<input type="text" id="entrpsNm" name="entrpsNm" value="${listEc.entrpsNm}" maxlength="20" />
</td>
<th><span>*</span>사업자구분</th>
<td>
<select id="bsnsSe" name="bsnsSe" onchange="">
<option value=""> = 선택 = </option>
<c:forEach var="bsnsSe" items="${bsnsSe }" varStatus="status">
<option value="${bsnsSe.code}" <c:if test="${bsnsSe.code == listEc.bsnsSe}">selected="selected"</c:if>>${bsnsSe.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>주민(법인)등록번호</th>
<td>
<input type="text" id="cprInhbtntRegistNo" name="cprInhbtntRegistNo" value="${listEc.cprInhbtntRegistNo}" onkeypress="javascript:return wfwInhbtntDashFormat(this);" style="ime-mode:disabled" maxlength="14" />
</td>
<th>전화번호</th>
<td>
<input type="text" id="tlphonNo" name="tlphonNo" value="${listEc.tlphonNo}" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" maxlength="13" />
</td>
</tr>
<tr>
<th>관할관청</th>
<td colspan="3">
<select id="cmptncGrc" name="cmptncGrc">
<option value=""> == 선택 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == listEc.cmptncGrc}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="combine">
<h3>전기차 정보</h3>
<div class="table01">
<table>
<caption>전기차 정보 테이블</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>전기차 등록여부</th>
<td>
<input type="checkbox" id="ecRegistAt" name="ecRegistAt" value="${listEc.ecRegistAt}" <c:if test="${listEc.ecRegistAt == 'Y'}">checked="checked"</c:if> onclick="javascript:fnChangeCheckboxValue('#ecRegistAt');" />
<span style="color:red;font-weight:bold;">체크 해제 시 전기차에서 일반 차량으로 변경되고 전기차 관리 대상에서 제외됩니다.</span>
</td>
<th><span>*</span>신청차종명</th>
<td>
<input type="text" id="brwdnm" name="brwdnm" size="40" value="${listEc.brwdnm}" maxlength="25" />
</td>
</tr>
<tr>
<th>차량등록일</th>
<td>
<input type="text" id="vhcleRegistDe" name="vhcleRegistDe" class="calendar" maxlength="10" value="${tbms_fn:printDate(listEc.vhcleRegistDe)}" />
</td>
<th>보급연도</th>
<td>
<input type="text" id="supplyYear" name="supplyYear" value="${listEc.supplyYear}" maxlength="15" />
</td>
</tr>
<tr>
<th>의무보유 기간</th>
<td colspan="3">
<input type="text" id="possBeginDe" name="possBeginDe" class="calendar" maxlength="10" value="${tbms_fn:printDate(listEc.possBeginDe)}" />~<input type="text" id="possEndDe" name="possEndDe" class="calendar" maxlength="10" value="${tbms_fn:printDate(listEc.possEndDe)}" />
</td>
</tr>
<tr>
<th>보조금</th>
<td>
<input type="text" id="subsidy" name="subsidy" value="${tbms_fn:maskNumber(listEc.subsidy, 3)}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" maxlength="10" size="17" style="ime-mode:disabled"/>원
</td>
<th>보조금 지급일자</th>
<td>
<input type="text" id="subsidyDe" name="subsidyDe" class="calendar" maxlength="10" value="${tbms_fn:printDate(listEc.subsidyDe)}" />
</td>
</tr>
<tr>
<th>배터리교체일자</th>
<td>
<input type="text" id="changeBtDe" name="changeBtDe" class="calendar" maxlength="10" style="ime-mode:disabled" value="${tbms_fn:printDate(listEc.changeBtDe)}" />
</td>
</tr>
<tr>
<th>위반여부</th>
<td colspan="3">
<input type="checkbox" id="violtAt" name="violtAt" value="${listEc.violtAt}" <c:if test="${listEc.violtAt == 'Y'}">checked="checked"</c:if> onclick="javascript:fnChangeCheckboxValue('#violtAt');" />
<span style="color:red;font-weight:bold;">의무보유기간 내 용도변경, 양도양수 등 위반여부가 확인된 경우 체크합니다.</span>
</td>
</tr>
<tr>
<th><span>*</span>적용일자</th>
<td colspan="3">
<input type="text" id="applcDe" name="applcDe" class="caldendar" /> <span style="color:red;font-weight:bold;">이력 화면에서 적용일자를 기준으로 정렬됩니다.</span>
</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3">
<textarea id="rm" name="rm" class="max" maxlength="200">${listEc.rm}</textarea>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnGoList();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>등록</span></strong></a>
</p>
</div>
</div> <!-- fir-combine -->
</form>
<%-- 면허번호 선택 레이어 시작 --%>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<%-- 면허번호 선택 레이어 끝 --%>
<%-- 면허번호 선택 레이어 시작 --%>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco15.js"/>"></script>
<div id="smco15_pop" class="mw_layer"></div>
<%-- 면허번호 선택 레이어 끝 --%>
<%-- 면허번호 선택 레이어 시작 --%>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco32.js"/>"></script>
<div id="smco32_pop" class="mw_layer"></div>
<%-- 면허번호 선택 레이어 끝 --%>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 정보메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'goPageDialog', '정보', 400, null, {
'확인' : function () {
$(this).dialog('close');
fnGoRegistCar();
}
}); // 정보메시지 출력 및 차량등록 페이지로 이동을 위한 dialog 초기화
initDatePicker('changeBtDe');
initDatePicker('vhcleRegistDe');
initDatePicker('ecRegistDe');
initDatePicker('possBeginDe');
initDatePicker('possEndDe');
initDatePicker('subsidyDe');
initDatePicker('applcDe');
fnInitCheckBox();
});
/**
* 면허 선택
*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId, realLcnsNo) {
$('#realLcnsNo').val(realLcnsNo);
}
/**
* 차량 선택
*/
function fnSmCo32Callback(lcnsNo, bsnmManageId, vhcleManageId, vhcleNo, atmblrgeNo, realLcnsNo, entrpsNm, bsnsSe, cprInhbtntRegistNo, tlphonNo, cmptncGrc, indutyCode, indutyNm, insttNm) {
console.log("fnSmCo32Callback() ................... \n" + " | lcnsNo: " + lcnsNo + " | bsnmManageId: " + bsnmManageId + " | vhcleManageId: " + vhcleManageId + " | vhcleNo: " + vhcleNo + " | atmblrgeNo: " + atmblrgeNo + " | realLcnsNo: " + realLcnsNo + " | entrpsNm: " + entrpsNm + " | bsnsSe: " + bsnsSe + " | cprInhbtntRegistNo: " + cprInhbtntRegistNo + " | tlphonNo: " + tlphonNo + " | cmptncGrc: " + cmptncGrc + " | indutyCode: " + indutyCode + " | indutyNm: " + indutyNm + " | insttNm: " + insttNm);
$('#vhcleNo').val(vhcleNo);
$('#atmblrgeNo').val(atmblrgeNo);
$('#atmblrgeNo').val(atmblrgeNo);
$('#realLcnsNo').val(realLcnsNo);
$('#entrpsNm').val(entrpsNm);
$('#bsnsSe').val(bsnsSe);
$('#cprInhbtntRegistNo').val(cprInhbtntRegistNo);
$('#tlphonNo').val(tlphonNo);
$('#cmptncGrc').val(cmptncGrc);
// hidden
$('#lcnsNo').val(lcnsNo);
$('#bsnmManageId').val(bsnmManageId);
$('#vhcleManageId').val(vhcleManageId);
$('#indutyCode').val(indutyCode);
$('#indutyNm').val(indutyNm);
$('#insttNm').val(insttNm);
}
function fnValidateValues() {
if(isEmpty('vhcleNo')) {
openDialog('errorDialog',"차량번호가 없습니다.<br>차량번호를 검색한 후 선택해주세요.");
return false;
}
if(isEmpty('atmblrgeNo')) {
openDialog('errorDialog',"차대번호가 없습니다.<br>면허관리→면허관리기타업무→자동차망대량연계 메뉴에서 차량제원을 업데이트 해주세요.");
return false;
}
if(isEmpty('entrpsNm')) {
openDialog('errorDialog',"사업자명을 입력하십시오.");
return false;
}
if(isEmpty('bsnsSe')) {
openDialog('errorDialog',"사업자구분을 선택하십시오.");
return false;
}
if(isEmpty('cprInhbtntRegistNo')) {
openDialog('errorDialog',"주민(법인)등록번호를 입력하십시오.");
return false;
}
if(isEmpty('cmptncGrc')) {
openDialog('errorDialog',"관할관청을 선택하십시오.");
return false;
}
if(isEmpty('brwdnm')) {
openDialog('errorDialog',"차종명을 입력하십시오.");
return false;
}
if(isEmpty('applcDe')) {
openDialog('errorDialog',"적용일자를 입력하십시오.", null, 'applcDe');
return false;
}
// 날짜 형식 확인
if(!checkDate('applcDe')) {
openDialog('errorDialog',"적용일자를 확인 후 다시 입력하십시오.");
return false;
}
openDialog('confirmSaveDialog', "자료를 등록하시겠습니까?");
}
function fnSave() {
// ajax => form => controller
fnFormat(true);
var formData = $('#form').serialize();
$.each($('form input[type=checkbox]')
.filter(function(idx) {
return $(this).prop('checked') === false
}),
function(idx, el) {
var emptyVal = 'N';
formData += '&' + $(el).attr('name') + '=' + emptyVal;
}
);
$.ajax({
url : '<c:url value="/lm/la/70/ajaxModify.do"/>',
type : 'post',
async : false,
traditional : true,
//data : $('#form').serialize(),
data : formData,
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', jqXHR.responseText);
},
success : function (data, textStatus, jqXHR) {
if (data == true) {
openDialog('infoDialog',"자료 등록 성공");
var ecManageId = $('#ecManageId').val();
fnView(ecManageId);
} else {
openDialog('errorDialog', jqXHR.responseText);
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
fnFormat(false);
}
});
}
function fnFormat(tf) {
console.log("***************** fnFormat() ****************");
if(tf) {
if(!isEmpty('cprInhbtntRegistNo')){ removeSpecific('cprInhbtntRegistNo'); }
if(!isEmpty('vhcleRegistDe')) { removeSpecific('vhcleRegistDe'); }
if(!isEmpty('changeBtDe')) { removeSpecific('changeBtDe'); }
if(!isEmpty('possBeginDe')) { removeSpecific('possBeginDe'); }
if(!isEmpty('possEndDe')) { removeSpecific('possEndDe'); }
if(!isEmpty('subsidy')) { removeSpecific('subsidy'); }
if(!isEmpty('subsidyDe')) { removeSpecific('subsidyDe'); }
if(!isEmpty('applcDe')) { removeSpecific('applcDe'); }
/* if(!isEmpty('ecRegistDe')) { removeSpecific('ecRegistDe'); } */
} else {
if(!isEmpty('vhcleRegistDe')) { dateTransformDash('vhcleRegistDe'); }
if(!isEmpty('changeBtDe')) { dateTransformDash('changeBtDe'); }
if(!isEmpty('possBeginDe')) { dateTransformDash('possBeginDe'); }
if(!isEmpty('possEndDe')) { dateTransformDash('possEndDe'); }
if(!isEmpty('subsidy')) { numTransformComma('subsidy'); }
if(!isEmpty('subsidyDe')) { dateTransformDash('subsidyDe'); }
if(!isEmpty('applcDe')) { dateTransformDash('applcDe'); }
}
}
function fnChangeCheckboxValue(checkboxId) {
var checkValue = $(checkboxId).val();
if(checkValue == 'Y') {
$(checkboxId).val('N');
} else {
$(checkboxId).val('Y');
}
console.log("********* Setting " + checkboxId + "().val(): " + $(checkboxId).val());
}
function fnInitCheckBox() {
/* $("input[id=ecRegistAt]:checkbox").attr("checked",true);
$("input[id=violtAt]:checkbox").attr("checked",false); */
console.log("********** Init checkbox, ecRegistAt: " + $('#ecRegistAt').val());
console.log("********** Init checkbox, violtAt: " + $('#violtAt').val());
}
function fnGoList(){
var searchEcManageId = $('#ecManageId').val();
var violtAt = '${listEc.violtAt}';
$('#searchEcManageId').val(searchEcManageId);
$('#searchVioltAt').val(violtAt);
wfwSubmit('form', '/lm/la/70/list.do');
}
function fnView(ecManageId) {
$('#searchEcManageId').val(ecManageId);
wfwSubmit('form','/lm/la/70/goDetail.do');
}
</script>

@ -0,0 +1,437 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/tbms/sm/co/include.jsp" %>
<form id="form" name="form" method="post" commandName="lmLa7010SearchVO">
<!-- input form -->
<input type="hidden" id="ecManageId" name="ecManageId" value="${listEc.ecManageId}" />
<input type="hidden" id="lcnsNo" name="lcnsNo" value="${listEc.lcnsNo}" />
<input type="hidden" id="vhcleManageId" name="vhcleManageId" value="${listEc.vhcleManageId}" />
<input type="hidden" id="searchEcManageId" name="searchEcManageId" /> <!-- 자료등록 후 상세화면으로 이동할 때 사용 -->
<input type="hidden" id="searchFlag" name="searchFlag" value="search" /> <!-- 목록으로 이동할 때 사용 -->
<input type="hidden" id="searchVioltAt" path="searchVioltAt" /> <!-- 목록 이동 시 체크 -->
<div class="fir-combine">
<p class="local">
<span>홈</span><span>면허관리</span><span>면허관리 기타업무</span><span>전기택시 관리</span>
</p>
<h2>전기택시 이력 등록</h2>
<div class="combine">
<h3>차량 검색</h3>
<div class="table01">
<table>
<caption>차량</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th>차량번호</th>
<td>
<input type="text" id="vhcleNo" name="vhcleNo" readonly="true" value="${listEc.vhcleNo}" />
</td>
</tr>
<tr>
<th>면허번호</th>
<td>
<input type="text" id="realLcnsNo" name="realLcnsNo" readonly="true" value="${listEc.realLcnsNo}" />
</td>
<th><span>*</span>차대번호</th>
<td>
<input type="text" id="atmblrgeNo" name="atmblrgeNo" size="20" value="${listEc.atmblrgeNo}" maxlength="17" />
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="combine">
<h3>사업자 정보</h3>
<div class="table01">
<table>
<caption>사업자</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>사업자명</th>
<td>
<input type="text" id="entrpsNm" name="entrpsNm" value="${listEc.entrpsNm}" maxlength="20" />
</td>
<th><span>*</span>사업자구분</th>
<td>
<select id="bsnsSe" name="bsnsSe" onchange="">
<option value=""> = 선택 = </option>
<c:forEach var="bsnsSe" items="${bsnsSe }" varStatus="status">
<option value="${bsnsSe.code}" <c:if test="${bsnsSe.code == listEc.bsnsSe}">selected="selected"</c:if>>${bsnsSe.codeNm}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th><span>*</span>주민(법인)등록번호</th>
<td>
<input type="text" id="cprInhbtntRegistNo" name="cprInhbtntRegistNo" value="${listEc.cprInhbtntRegistNo}" onkeypress="javascript:return wfwInhbtntDashFormat(this);" style="ime-mode:disabled" maxlength="14" />
</td>
<th>전화번호</th>
<td>
<input type="text" id="tlphonNo" name="tlphonNo" value="${listEc.tlphonNo}" onkeypress="javascript:return wfwTlphonNoDashFormat(this);" maxlength="13" />
</td>
</tr>
<tr>
<th>관할관청</th>
<td colspan="3">
<select id="cmptncGrc" name="cmptncGrc">
<option value=""> == 선택 == </option>
<c:forEach var="row" items="${pstinstList}">
<option value="${row.psitnInsttCode}" <c:if test="${row.psitnInsttCode == listEc.cmptncGrc}">selected="selected"</c:if>>${row.insttNm}</option>
</c:forEach>
</select>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="combine">
<h3>전기차 정보</h3>
<div class="table01">
<table>
<caption>전기차 정보 테이블</caption>
<colgroup>
<col width="20%" />
<col width="30%" />
<col width="20%" />
<col width="30%" />
</colgroup>
<tbody>
<tr>
<th><span>*</span>전기차 등록여부</th>
<td>
<input type="checkbox" id="ecRegistAt" name="ecRegistAt" value="${listEc.ecRegistAt}" <c:if test="${listEc.ecRegistAt == 'Y'}">checked="checked"</c:if> onclick="javascript:fnChangeCheckboxValue('#ecRegistAt');" />
<span style="color:red;font-weight:bold;">체크 해제 시 전기차에서 일반 차량으로 변경되고 전기차 관리 대상에서 제외됩니다.</span>
</td>
<th><span>*</span>신청차종명</th>
<td>
<input type="text" id="brwdnm" name="brwdnm" size="40" value="${listEc.brwdnm}" maxlength="25" />
</td>
</tr>
<tr>
<th>차량등록일</th>
<td>
<input type="text" id="vhcleRegistDe" name="vhcleRegistDe" class="calendar" maxlength="10" value="${tbms_fn:printDate(listEc.vhcleRegistDe)}" />
</td>
<th>보급연도</th>
<td>
<input type="text" id="supplyYear" name="supplyYear" value="${listEc.supplyYear}" maxlength="15" />
</td>
</tr>
<tr>
<th>의무보유 기간</th>
<td colspan="3">
<input type="text" id="possBeginDe" name="possBeginDe" class="calendar" maxlength="10" value="${tbms_fn:printDate(listEc.possBeginDe)}" />~<input type="text" id="possEndDe" name="possEndDe" class="calendar" maxlength="10" value="${tbms_fn:printDate(listEc.possEndDe)}" />
</td>
</tr>
<tr>
<th>보조금</th>
<td>
<input type="text" id="subsidy" name="subsidy" value="${tbms_fn:maskNumber(listEc.subsidy, 3)}" onkeyup="javascript:this.value=autoComma(this.value);" onkeypress="javascript:return wfwNumberCommaFormat(this);" maxlength="10" size="17" style="ime-mode:disabled"/>원
</td>
<th>보조금 지급일자</th>
<td>
<input type="text" id="subsidyDe" name="subsidyDe" class="calendar" maxlength="10" value="${tbms_fn:printDate(listEc.subsidyDe)}" />
</td>
</tr>
<tr>
<th>배터리교체일자</th>
<td>
<input type="text" id="changeBtDe" name="changeBtDe" class="calendar" maxlength="10" style="ime-mode:disabled" value="${tbms_fn:printDate(listEc.changeBtDe)}" />
</td>
</tr>
<tr>
<th>위반여부</th>
<td colspan="3">
<input type="checkbox" id="violtAt" name="violtAt" value="${listEc.violtAt}" <c:if test="${listEc.violtAt == 'Y'}">checked="checked"</c:if> onclick="javascript:fnChangeCheckboxValue('#violtAt');" />
<span style="color:red;font-weight:bold;">의무보유기간 내 용도변경, 양도양수 등 위반여부가 확인된 경우 체크합니다.</span>
</td>
</tr>
<tr>
<th><span>*</span>적용일자</th>
<td colspan="3">
<input type="text" id="applcDe" name="applcDe" class="caldendar" /> <span style="color:red;font-weight:bold;">이력 화면에서 적용일자를 기준으로 정렬됩니다.</span>
</td>
</tr>
<tr>
<th>비고</th>
<td colspan="3">
<textarea id="rm" name="rm" class="max" maxlength="200">${listEc.rm}</textarea>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="btn ar">
<p class="fl">
<a href="#" class="btn-w" onclick="javascript:fnGoList();"><strong><span>목록</span></strong></a>
</p>
<p class="fr">
<a href="#" class="btn-w" onclick="javascript:fnValidateValues();"><strong><span>등록</span></strong></a>
</p>
</div>
</div> <!-- fir-combine -->
</form>
<%-- 면허번호 선택 레이어 시작 --%>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco07.js"/>"></script>
<div id="smco07_pop" class="mw_layer"></div>
<%-- 면허번호 선택 레이어 끝 --%>
<%-- 면허번호 선택 레이어 시작 --%>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco15.js"/>"></script>
<div id="smco15_pop" class="mw_layer"></div>
<%-- 면허번호 선택 레이어 끝 --%>
<%-- 면허번호 선택 레이어 시작 --%>
<script type="text/javascript" src="<c:url value="/js/sm/co/smco32.js"/>"></script>
<div id="smco32_pop" class="mw_layer"></div>
<%-- 면허번호 선택 레이어 끝 --%>
<script type="text/javascript">
$(document).ready(function () {
wfwInitDialog(true, 'errorDialog', '오류'); // 오류메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'infoDialog', '정보'); // 정보메시지 출력을 위한 dialog 초기화
wfwInitDialog(true, 'confirmSaveDialog', '확인', 400, null, { // 저장확인 dialog
'저장' : function () {
$(this).dialog('close');
fnSave();
},
'취소' : function () {
$(this).dialog('close');
}
});
wfwInitDialog(true, 'goPageDialog', '정보', 400, null, {
'확인' : function () {
$(this).dialog('close');
fnGoRegistCar();
}
}); // 정보메시지 출력 및 차량등록 페이지로 이동을 위한 dialog 초기화
initDatePicker('changeBtDe');
initDatePicker('vhcleRegistDe');
initDatePicker('ecRegistDe');
initDatePicker('possBeginDe');
initDatePicker('possEndDe');
initDatePicker('subsidyDe');
initDatePicker('applcDe');
fnInitCheckBox();
});
/**
* 면허 선택
*/
function fnSmCo07Callback(lcnsNo, entrpsNm, rprsntvNm, useStrnghldAdres, useStrnghldAdresDetail, tlphonNo, resdncAdres, resdncAdresDetail, rprsntvNo, drvQualfNo, drvLcnsNo, trnsfrWpDe, lcnsPrmisnDe, indutyCode, bsnmManageId, realLcnsNo) {
$('#realLcnsNo').val(realLcnsNo);
}
/**
* 차량 선택
*/
function fnSmCo32Callback(lcnsNo, bsnmManageId, vhcleManageId, vhcleNo, atmblrgeNo, realLcnsNo, entrpsNm, bsnsSe, cprInhbtntRegistNo, tlphonNo, cmptncGrc, indutyCode, indutyNm, insttNm) {
console.log("fnSmCo32Callback() ................... \n" + " | lcnsNo: " + lcnsNo + " | bsnmManageId: " + bsnmManageId + " | vhcleManageId: " + vhcleManageId + " | vhcleNo: " + vhcleNo + " | atmblrgeNo: " + atmblrgeNo + " | realLcnsNo: " + realLcnsNo + " | entrpsNm: " + entrpsNm + " | bsnsSe: " + bsnsSe + " | cprInhbtntRegistNo: " + cprInhbtntRegistNo + " | tlphonNo: " + tlphonNo + " | cmptncGrc: " + cmptncGrc + " | indutyCode: " + indutyCode + " | indutyNm: " + indutyNm + " | insttNm: " + insttNm);
$('#vhcleNo').val(vhcleNo);
$('#atmblrgeNo').val(atmblrgeNo);
$('#atmblrgeNo').val(atmblrgeNo);
$('#realLcnsNo').val(realLcnsNo);
$('#entrpsNm').val(entrpsNm);
$('#bsnsSe').val(bsnsSe);
$('#cprInhbtntRegistNo').val(cprInhbtntRegistNo);
$('#tlphonNo').val(tlphonNo);
$('#cmptncGrc').val(cmptncGrc);
// hidden
$('#lcnsNo').val(lcnsNo);
$('#bsnmManageId').val(bsnmManageId);
$('#vhcleManageId').val(vhcleManageId);
$('#indutyCode').val(indutyCode);
$('#indutyNm').val(indutyNm);
$('#insttNm').val(insttNm);
}
function fnValidateValues() {
if(isEmpty('vhcleNo')) {
openDialog('errorDialog',"차량번호가 없습니다.<br>차량번호를 검색한 후 선택해주세요.");
return false;
}
if(isEmpty('atmblrgeNo')) {
openDialog('errorDialog',"차대번호가 없습니다.<br>면허관리→면허관리기타업무→자동차망대량연계 메뉴에서 차량제원을 업데이트 해주세요.");
return false;
}
if(isEmpty('entrpsNm')) {
openDialog('errorDialog',"사업자명을 입력하십시오.");
return false;
}
if(isEmpty('bsnsSe')) {
openDialog('errorDialog',"사업자구분을 선택하십시오.");
return false;
}
if(isEmpty('cprInhbtntRegistNo')) {
openDialog('errorDialog',"주민(법인)등록번호를 입력하십시오.");
return false;
}
if(isEmpty('cmptncGrc')) {
openDialog('errorDialog',"관할관청을 선택하십시오.");
return false;
}
if(isEmpty('brwdnm')) {
openDialog('errorDialog',"차종명을 입력하십시오.");
return false;
}
if(isEmpty('applcDe')) {
openDialog('errorDialog',"적용일자를 입력하십시오.", null, 'applcDe');
return false;
}
// 날짜 형식 확인
if(!checkDate('applcDe')) {
openDialog('errorDialog',"적용일자를 확인 후 다시 입력하십시오.");
return false;
}
openDialog('confirmSaveDialog', "자료를 등록하시겠습니까?");
}
function fnSave() {
// ajax => form => controller
fnFormat(true);
var formData = $('#form').serialize();
$.each($('form input[type=checkbox]')
.filter(function(idx) {
return $(this).prop('checked') === false
}),
function(idx, el) {
var emptyVal = 'N';
formData += '&' + $(el).attr('name') + '=' + emptyVal;
}
);
$.ajax({
url : '<c:url value="/lm/la/70/ajaxRegistHist.do"/>',
type : 'post',
async : false,
traditional : true,
//data : $('#form').serialize(),
data : formData,
beforeSend : function (jqXHR, settings) {
$.blockUI({ message: '처리중...' });
},
error : function (jqXHR, textStatus, errorThrown) {
openDialog('errorDialog', jqXHR.responseText);
},
success : function (data, textStatus, jqXHR) {
if (data == true) {
openDialog('infoDialog',"자료 등록 성공");
var ecManageId = $('#ecManageId').val();
//alert('ecManageId: ' + $('#ecManageId').val());
fnView(ecManageId);
} else {
openDialog('errorDialog', jqXHR.responseText);
}
},
complete : function (jqXHR, textStatus) {
$.unblockUI();
fnFormat(false);
}
});
}
function fnFormat(tf) {
console.log("***************** fnFormat() ****************");
if(tf) {
if(!isEmpty('cprInhbtntRegistNo')){ removeSpecific('cprInhbtntRegistNo'); }
if(!isEmpty('vhcleRegistDe')) { removeSpecific('vhcleRegistDe'); }
if(!isEmpty('changeBtDe')) { removeSpecific('changeBtDe'); }
if(!isEmpty('possBeginDe')) { removeSpecific('possBeginDe'); }
if(!isEmpty('possEndDe')) { removeSpecific('possEndDe'); }
if(!isEmpty('subsidy')) { removeSpecific('subsidy'); }
if(!isEmpty('subsidyDe')) { removeSpecific('subsidyDe'); }
if(!isEmpty('applcDe')) { removeSpecific('applcDe'); }
/* if(!isEmpty('ecRegistDe')) { removeSpecific('ecRegistDe'); } */
} else {
if(!isEmpty('vhcleRegistDe')) { dateTransformDash('vhcleRegistDe'); }
if(!isEmpty('changeBtDe')) { dateTransformDash('changeBtDe'); }
if(!isEmpty('possBeginDe')) { dateTransformDash('possBeginDe'); }
if(!isEmpty('possEndDe')) { dateTransformDash('possEndDe'); }
if(!isEmpty('subsidy')) { numTransformComma('subsidy'); }
if(!isEmpty('subsidyDe')) { dateTransformDash('subsidyDe'); }
if(!isEmpty('applcDe')) { dateTransformDash('applcDe'); }
}
}
function fnChangeCheckboxValue(checkboxId) {
var checkValue = $(checkboxId).val();
if(checkValue == 'Y') {
$(checkboxId).val('N');
} else {
$(checkboxId).val('Y');
}
console.log("********* Setting " + checkboxId + "().val(): " + $(checkboxId).val());
}
function fnInitCheckBox() {
/* $("input[id=ecRegistAt]:checkbox").attr("checked",true);
$("input[id=violtAt]:checkbox").attr("checked",false); */
console.log("********** Init checkbox, ecRegistAt: " + $('#ecRegistAt').val());
console.log("********** Init checkbox, violtAt: " + $('#violtAt').val());
}
function fnGoList(){
var searchEcManageId = $('#ecManageId').val();
var violtAt = '${listEc.violtAt}';
$('#searchEcManageId').val(searchEcManageId);
$('#searchVioltAt').val(violtAt);
wfwSubmit('form', '/lm/la/70/list.do');
}
function fnView(ecManageId) {
$('#searchEcManageId').val(ecManageId);
wfwSubmit('form','/lm/la/70/goDetail.do');
}
</script>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save