diff --git a/WebContent/WEB-INF/view/releaseMgmt/releaseMgmtFormSimplePopUp.jsp b/WebContent/WEB-INF/view/releaseMgmt/releaseMgmtFormSimplePopUp.jsp index 9782b62..642feac 100644 --- a/WebContent/WEB-INF/view/releaseMgmt/releaseMgmtFormSimplePopUp.jsp +++ b/WebContent/WEB-INF/view/releaseMgmt/releaseMgmtFormSimplePopUp.jsp @@ -2,7 +2,7 @@ <%@ page import="com.pms.common.utils.*"%> <%@ page import="java.util.*" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@include file= "/init.jsp" %> +<%@include file= "/init_new.jsp" %> <% PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String userId = CommonUtils.checkNull(person.getUserId()); diff --git a/WebContent/css/basic_new.css b/WebContent/css/basic_new.css index b1c9d37..55bcd0c 100644 --- a/WebContent/css/basic_new.css +++ b/WebContent/css/basic_new.css @@ -121,11 +121,11 @@ div.plm_menu_name h2 span, #businessPopupFormWrap h4 { background: white; color: var(--text-primary); - padding: 8px 28px; - margin: 0; - font-size: 15px; + padding: 8px 16px; + margin: 0 0 8px 0; + font-size: 13px; font-weight: 600; - border-bottom: 2px solid #e2e8f0; + border-bottom: 1px solid #e2e8f0; border-left: none; display: flex; align-items: center; @@ -135,16 +135,49 @@ div.plm_menu_name h2 span, #businessPopupFormWrap h4 span { display: flex; align-items: center; - gap: 8px; + gap: 6px; flex: 1; } #businessPopupFormWrap h4 span::before { - content: 'πŸ“‹'; - font-size: 18px; + content: 'πŸ“Ž'; + font-size: 14px; flex-shrink: 0; } +/* μ€‘μ²©λœ businessPopupFormWrap μŠ€νƒ€μΌ */ +.input_sub_title #businessPopupFormWrap { + padding: 8px; + background: #fafbfc; + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + margin: 4px 0; + max-width: 100%; + overflow: hidden; +} + +.input_sub_title #businessPopupFormWrap h4 { + background: #f8fafc; + padding: 6px 12px; + margin: 0 0 6px 0; + font-size: 12px; + border-radius: 4px; +} + +.input_sub_title #businessPopupFormWrap h4 span::before { + content: 'πŸ“Ž'; + font-size: 13px; +} + +.input_sub_title .pmsPopupForm { + background: white; + max-width: 100%; +} + +.input_sub_title .pmsPopupForm td { + padding: 4px 8px; +} + /* 헀더에 λ‹«κΈ° λ²„νŠΌμ΄ μžˆλŠ” 경우λ₯Ό μœ„ν•œ μŠ€νƒ€μΌ */ .plm_menu_name h2 .close-btn { position: absolute; @@ -245,16 +278,26 @@ div.plm_menu_name h2 span, font-weight: 600; position: relative; padding: 20px 24px; + vertical-align: middle !important; } .input_title label { color: var(--text-primary); font-weight: 600; font-size: 14px; - display: flex; - align-items: center; - justify-content: flex-end; - text-align: right; + display: block; + text-align: center; +} + +/* ν…Œμ΄λΈ” μ…€ μ„Έλ‘œ μ •λ ¬ κ°•μ œ 적용 */ +.pmsPopupForm .input_title, +.pmsPopuptable .input_title { + vertical-align: middle !important; +} + +.pmsPopupForm .input_sub_title, +.pmsPopuptable .input_sub_title { + vertical-align: middle !important; } /* ν•„μˆ˜ ν•­λͺ© ν‘œμ‹œ 제거 */ @@ -806,6 +849,207 @@ div.plm_menu_name h2 span, } } +/* λ“œλž˜κ·Έμ•€λ“œλ‘­ μ˜μ—­ μŠ€νƒ€μΌ */ +.dropzone { + background: #f8fafc; + border: 2px dashed var(--border-color); + border-radius: var(--radius-md); + padding: 12px; + text-align: center; + color: var(--text-secondary); + font-size: 12px; + font-weight: 500; + transition: all 0.3s ease; + cursor: pointer; + margin: 4px 0; + min-height: 30px; + display: flex; + align-items: center; + justify-content: center; + max-width: 100%; + box-sizing: border-box; +} + +.dropzone:hover { + background: #eff6ff; + border-color: var(--primary-color); + color: var(--primary-color); +} + +.dropzone.dragover { + background: #dbeafe; + border-color: var(--primary-color); + color: var(--primary-color); + transform: scale(1.01); +} + +/* 파일 μ—…λ‘œλ“œ κ΄€λ ¨ μŠ€νƒ€μΌ */ +.project_form_in_table { + padding: 8px; + background: var(--surface); + max-width: 100%; + overflow: hidden; + box-sizing: border-box; +} + +.project_form_in_table input[type="file"] { + padding: 6px; + font-size: 11px; + border: 1px solid var(--border-color); + border-radius: var(--radius-sm); + background: var(--surface); + margin-right: 6px; + cursor: pointer; + max-width: calc(100% - 100px); +} + +.project_form_in_table > div { + margin-bottom: 6px; +} + +.project_form_in_table table { + max-width: 100%; + table-layout: fixed; +} + +.upload_btns { + height: 30px; + border-radius: var(--radius-md); + background: var(--primary-color); + color: white; + cursor: pointer; + font-size: 12px; + border: none; + padding: 0 16px; + font-weight: 600; + transition: all 0.2s ease; + box-shadow: var(--shadow-sm); + display: inline-flex; + align-items: center; + justify-content: center; + margin: 0; + vertical-align: middle; +} + +.upload_btns:hover { + background: var(--primary-hover); + box-shadow: var(--shadow-md); + transform: translateY(-1px); +} + +.upload_btns:active { + transform: translateY(0); + box-shadow: var(--shadow-sm); +} + +/* 파일 λͺ©λ‘ ν…Œμ΄λΈ” μŠ€νƒ€μΌ */ +.fileListscrollTbody { + width: 100%; + border-collapse: collapse; + font-size: 11px; +} + +.fileListscrollTbody td { + padding: 6px 8px; + border-bottom: 1px solid var(--border-color); + vertical-align: middle; + text-align: center; + font-size: 11px; +} + +.fileListscrollTbody td.align_l { + text-align: left; +} + +.fileListscrollTbody td a { + color: var(--primary-color); + text-decoration: none; + font-weight: 500; + transition: color 0.2s ease; +} + +.fileListscrollTbody td a:hover { + color: var(--primary-hover); + text-decoration: underline; +} + +.fileListscrollTbody tr:hover td { + background: #f8fafc; +} + +/* μ‚­μ œ λ²„νŠΌ μŠ€νƒ€μΌ */ +.delete_btn { + display: inline-block; + width: 18px; + height: 18px; + background: var(--danger-color); + border-radius: 3px; + cursor: pointer; + position: relative; + margin-left: 6px; + vertical-align: middle; + transition: all 0.2s ease; +} + +.delete_btn:hover { + background: #dc2626; + transform: scale(1.1); +} + +.delete_btn::before, +.delete_btn::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 10px; + height: 2px; + background: white; +} + +.delete_btn::before { + transform: translate(-50%, -50%) rotate(45deg); +} + +.delete_btn::after { + transform: translate(-50%, -50%) rotate(-45deg); +} + +/* 파일 μ•„μ΄μ½˜ μŠ€νƒ€μΌ */ +.file_icon, +.file_empty_icon { + display: inline-block; + padding: 8px 16px; + border-radius: var(--radius-md); + font-size: 13px; + font-weight: 500; + text-decoration: none; + transition: all 0.2s ease; + cursor: pointer; +} + +.file_icon { + background: var(--primary-light); + color: var(--primary-color); + border: 1px solid var(--primary-color); +} + +.file_icon:hover { + background: var(--primary-color); + color: white; +} + +.file_empty_icon { + background: #f1f5f9; + color: var(--text-secondary); + border: 1px solid var(--border-color); +} + +.file_empty_icon:hover { + background: #e2e8f0; + border-color: var(--secondary-color); +} + /* ν”„λ¦°νŠΈ μŠ€νƒ€μΌ */ @media print { body { @@ -819,7 +1063,13 @@ div.plm_menu_name h2 span, .btn_wrap, .plm_btns, - .btns { + .btns, + .upload_btns, + .delete_btn { + display: none; + } + + .dropzone { display: none; } } \ No newline at end of file