diff --git a/ry-vue3/src/views/admin/Account.vue b/ry-vue3/src/views/admin/Account.vue index 2592341..db8ad59 100644 --- a/ry-vue3/src/views/admin/Account.vue +++ b/ry-vue3/src/views/admin/Account.vue @@ -100,4 +100,87 @@ onMounted(load) .admin-account { padding: 16px; } .breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 12px; } .account-form { max-width: 480px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/admin/BizArticleAdmin.vue b/ry-vue3/src/views/admin/BizArticleAdmin.vue index 925796a..5a2a1b7 100644 --- a/ry-vue3/src/views/admin/BizArticleAdmin.vue +++ b/ry-vue3/src/views/admin/BizArticleAdmin.vue @@ -98,4 +98,87 @@ onMounted(load) .admin-article { padding: 16px; } .breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 12px; } .pager { display: flex; justify-content: flex-end; margin-top: 12px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/admin/BizArticleEdit.vue b/ry-vue3/src/views/admin/BizArticleEdit.vue index 082c93e..ffe0e8b 100644 --- a/ry-vue3/src/views/admin/BizArticleEdit.vue +++ b/ry-vue3/src/views/admin/BizArticleEdit.vue @@ -104,4 +104,87 @@ onMounted(loadDetail) .header .title { font-size: 18px; font-weight: 600; } .form-tip { margin-left: 12px; font-size: 12px; color: #909399; } :deep(.w-e-text-container) { background: #fff; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/admin/BizSpecialPlanAdmin.vue b/ry-vue3/src/views/admin/BizSpecialPlanAdmin.vue index 44323b8..09ad678 100644 --- a/ry-vue3/src/views/admin/BizSpecialPlanAdmin.vue +++ b/ry-vue3/src/views/admin/BizSpecialPlanAdmin.vue @@ -98,4 +98,87 @@ onMounted(load) .admin-plan { padding: 16px; } .breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 12px; } .pager { display: flex; justify-content: flex-end; margin-top: 12px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/admin/BizSpecialPlanEdit.vue b/ry-vue3/src/views/admin/BizSpecialPlanEdit.vue index a50fa7f..87b1603 100644 --- a/ry-vue3/src/views/admin/BizSpecialPlanEdit.vue +++ b/ry-vue3/src/views/admin/BizSpecialPlanEdit.vue @@ -127,4 +127,87 @@ onMounted(loadDetail) .form-actions { margin-top: 24px; padding-top: 24px; border-top: 1px solid #f0f0f0; } .form-actions :deep(.el-form-item__label) { display: none; } .form-actions :deep(.el-form-item__content) { margin-left: 0 !important; display: flex; gap: 12px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/admin/ExpertDetail.vue b/ry-vue3/src/views/admin/ExpertDetail.vue index 51252e2..1d099ca 100644 --- a/ry-vue3/src/views/admin/ExpertDetail.vue +++ b/ry-vue3/src/views/admin/ExpertDetail.vue @@ -249,4 +249,87 @@ onMounted(loadDetail) /* 只读时禁用表单 input 鼠标样式, 保留视觉 */ :deep(.el-form.is-disabled .el-input__wrapper) { background-color: #f5f7fa; box-shadow: 0 0 0 1px #e4e7ed inset; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/admin/LaborProtocolEdit.vue b/ry-vue3/src/views/admin/LaborProtocolEdit.vue index 0c76272..1dfa907 100644 --- a/ry-vue3/src/views/admin/LaborProtocolEdit.vue +++ b/ry-vue3/src/views/admin/LaborProtocolEdit.vue @@ -155,4 +155,87 @@ onMounted(loadDetail) /* template_content 是 HTML, 用等宽字体更清晰 */ :deep(.el-textarea__inner) { font-family: 'Consolas', 'Monaco', monospace; font-size: 12px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/admin/Roles.vue b/ry-vue3/src/views/admin/Roles.vue index adbe6cf..24f1d57 100644 --- a/ry-vue3/src/views/admin/Roles.vue +++ b/ry-vue3/src/views/admin/Roles.vue @@ -147,4 +147,87 @@ onMounted(loadStats) line-height: 1; } .role-table { margin-top: 12px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/auth/RegisterExecutor.vue b/ry-vue3/src/views/auth/RegisterExecutor.vue index 39d743c..9381589 100644 --- a/ry-vue3/src/views/auth/RegisterExecutor.vue +++ b/ry-vue3/src/views/auth/RegisterExecutor.vue @@ -209,4 +209,87 @@ onUnmounted(() => { if (smsTimer) clearInterval(smsTimer) }) .login-link { text-align: center; margin-top: 16px; font-size: 14px; color: #606266; } .login-link a { color: var(--brand-primary); text-decoration: none; margin-left: 4px; } .login-link a:hover { text-decoration: underline; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } diff --git a/ry-vue3/src/views/auth/RegisterExpert.vue b/ry-vue3/src/views/auth/RegisterExpert.vue index 7c98d6f..7bd1491 100644 --- a/ry-vue3/src/views/auth/RegisterExpert.vue +++ b/ry-vue3/src/views/auth/RegisterExpert.vue @@ -199,4 +199,87 @@ onUnmounted(() => { if (smsTimer) clearInterval(smsTimer) }) .login-link a { color: var(--brand-primary); text-decoration: none; margin-left: 4px; } .login-link a:hover { text-decoration: underline; } .success-page { padding: 60px 0; text-align: center; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/auth/RegisterSponsor.vue b/ry-vue3/src/views/auth/RegisterSponsor.vue index 80c6550..2cea36c 100644 --- a/ry-vue3/src/views/auth/RegisterSponsor.vue +++ b/ry-vue3/src/views/auth/RegisterSponsor.vue @@ -223,4 +223,87 @@ onUnmounted(() => { if (smsTimer) clearInterval(smsTimer) }) .login-link { text-align: center; margin-top: 16px; font-size: 14px; color: #606266; } .login-link a { color: var(--brand-primary); text-decoration: none; margin-left: 4px; } .login-link a:hover { text-decoration: underline; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } diff --git a/ry-vue3/src/views/doctor/Account.vue b/ry-vue3/src/views/doctor/Account.vue index 2da8555..8907cd3 100644 --- a/ry-vue3/src/views/doctor/Account.vue +++ b/ry-vue3/src/views/doctor/Account.vue @@ -449,4 +449,87 @@ onUnmounted(() => { .sms-row { display: flex; gap: 8px; align-items: center; width: 100%; } .sms-row .el-input { flex: 1; } .btn-sms { flex-shrink: 0; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/doctor/Meetings.vue b/ry-vue3/src/views/doctor/Meetings.vue index bb86fae..6fe86e2 100644 --- a/ry-vue3/src/views/doctor/Meetings.vue +++ b/ry-vue3/src/views/doctor/Meetings.vue @@ -270,4 +270,87 @@ load() :deep(.el-table .el-button.is-link:hover) { color: var(--brand-primary-deep); background: transparent; } :deep(.el-table .el-button.is-link.is-disabled) { color: #c0c4cc; background: transparent; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/doctor/SignFill.vue b/ry-vue3/src/views/doctor/SignFill.vue index 5245cb0..a30f247 100644 --- a/ry-vue3/src/views/doctor/SignFill.vue +++ b/ry-vue3/src/views/doctor/SignFill.vue @@ -384,4 +384,87 @@ onMounted(init) /* mobile 端地址 3 个输入框 1 行 */ .region-row { display: flex; gap: 8px; } .region-row .el-input { flex: 1; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/doctor/SignSuccess.vue b/ry-vue3/src/views/doctor/SignSuccess.vue index be6311b..26017e9 100644 --- a/ry-vue3/src/views/doctor/SignSuccess.vue +++ b/ry-vue3/src/views/doctor/SignSuccess.vue @@ -17,4 +17,87 @@ justify-content: center; padding: 16px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } diff --git a/ry-vue3/src/views/doctor/SubmissionDetail.vue b/ry-vue3/src/views/doctor/SubmissionDetail.vue index 21f4b95..1b6f23b 100644 --- a/ry-vue3/src/views/doctor/SubmissionDetail.vue +++ b/ry-vue3/src/views/doctor/SubmissionDetail.vue @@ -137,4 +137,87 @@ onMounted(load) .readonly-form :deep(.el-link) { font-weight: 500; } .detail-actions { margin-top: 16px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/doctor/SubmissionNew.vue b/ry-vue3/src/views/doctor/SubmissionNew.vue index f799c51..1e74fcf 100644 --- a/ry-vue3/src/views/doctor/SubmissionNew.vue +++ b/ry-vue3/src/views/doctor/SubmissionNew.vue @@ -201,4 +201,87 @@ onMounted(() => { /* 整页面板 (与 admin/ExpertNew.vue 一致: max-width 1200px) */ .doctor-submission-new { max-width: 1200px; padding: 16px; } .breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 12px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/executor-people/ExecutorPersonDetail.vue b/ry-vue3/src/views/executor-people/ExecutorPersonDetail.vue index 0e8b705..3998d69 100644 --- a/ry-vue3/src/views/executor-people/ExecutorPersonDetail.vue +++ b/ry-vue3/src/views/executor-people/ExecutorPersonDetail.vue @@ -145,4 +145,87 @@ onMounted(loadDetail) /* 只读时禁用表单 input 鼠标样式, 保留视觉 */ :deep(.el-form.is-disabled .el-input__wrapper) { background-color: #f5f7fa; box-shadow: 0 0 0 1px #e4e7ed inset; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } diff --git a/ry-vue3/src/views/executor-people/ExecutorPersonNew.vue b/ry-vue3/src/views/executor-people/ExecutorPersonNew.vue index eca09b0..5deb0d0 100644 --- a/ry-vue3/src/views/executor-people/ExecutorPersonNew.vue +++ b/ry-vue3/src/views/executor-people/ExecutorPersonNew.vue @@ -179,4 +179,87 @@ onMounted(() => { :deep(.el-button--primary:hover) { background: var(--brand-primary-deep); border-color: var(--brand-primary-deep); } :deep(.el-button) { border-radius: 4px; } :deep(.el-input__wrapper) { border-radius: 4px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } diff --git a/ry-vue3/src/views/executor/Account.vue b/ry-vue3/src/views/executor/Account.vue index 91de19b..1819ad8 100644 --- a/ry-vue3/src/views/executor/Account.vue +++ b/ry-vue3/src/views/executor/Account.vue @@ -79,4 +79,87 @@ onMounted(loadProfile) .breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 12px; } .account-form { max-width: 600px; } .filter-tip { color: #909399; font-size: 12px; margin-bottom: 12px; padding-left: 120px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/executor/NewPerson.vue b/ry-vue3/src/views/executor/NewPerson.vue index bbb7fbb..eeea058 100644 --- a/ry-vue3/src/views/executor/NewPerson.vue +++ b/ry-vue3/src/views/executor/NewPerson.vue @@ -289,4 +289,87 @@ onMounted(() => { :deep(.el-button--primary:hover) { background: var(--brand-primary-deep); border-color: var(--brand-primary-deep); } :deep(.el-button) { border-radius: 4px; } :deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } diff --git a/ry-vue3/src/views/executor/Overview.vue b/ry-vue3/src/views/executor/Overview.vue index 5f67c9a..9dc5f7a 100644 --- a/ry-vue3/src/views/executor/Overview.vue +++ b/ry-vue3/src/views/executor/Overview.vue @@ -121,4 +121,87 @@ onMounted(() => { loadStats() }) } .more { font-size: 12px; color: var(--brand-primary); text-decoration: none; cursor: pointer; } .more:hover { text-decoration: underline; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/executor/PersonDetail.vue b/ry-vue3/src/views/executor/PersonDetail.vue index 6b23a77..8b16abb 100644 --- a/ry-vue3/src/views/executor/PersonDetail.vue +++ b/ry-vue3/src/views/executor/PersonDetail.vue @@ -138,4 +138,87 @@ onMounted(loadDetail) :deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; } /* readonly 输入框视觉降级 (灰色背景) */ :deep(.el-input.is-readonly .el-input__wrapper) { background-color: #fafafa; box-shadow: none; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/expert/ExpertNew.vue b/ry-vue3/src/views/expert/ExpertNew.vue index a8d6673..3c5dc2d 100644 --- a/ry-vue3/src/views/expert/ExpertNew.vue +++ b/ry-vue3/src/views/expert/ExpertNew.vue @@ -338,4 +338,87 @@ onMounted(() => { :deep(.el-button--primary:hover) { background: var(--brand-primary-deep); border-color: var(--brand-primary-deep); } :deep(.el-button) { border-radius: 4px; } :deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } diff --git a/ry-vue3/src/views/manager/Accounts.vue b/ry-vue3/src/views/manager/Accounts.vue index af6b67d..482e72b 100644 --- a/ry-vue3/src/views/manager/Accounts.vue +++ b/ry-vue3/src/views/manager/Accounts.vue @@ -79,4 +79,87 @@ onMounted(loadProfile) .account-form { max-width: 600px; } .breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 12px; } .filter-tip { color: #909399; font-size: 12px; margin-bottom: 12px; padding-left: 120px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/manager/ManagerProjectsAssign.vue b/ry-vue3/src/views/manager/ManagerProjectsAssign.vue index 7bcf4dc..4e30f4d 100644 --- a/ry-vue3/src/views/manager/ManagerProjectsAssign.vue +++ b/ry-vue3/src/views/manager/ManagerProjectsAssign.vue @@ -575,4 +575,87 @@ async function submitAssign() { .hint-text { font-size: 12px; color: #909399; margin: 8px 0; line-height: 1.6; } .hint-text p { margin-bottom: 4px; } .hint-text p:last-child { margin-bottom: 0; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/manager/ProjectsNew.vue b/ry-vue3/src/views/manager/ProjectsNew.vue index 57b0400..e228310 100644 --- a/ry-vue3/src/views/manager/ProjectsNew.vue +++ b/ry-vue3/src/views/manager/ProjectsNew.vue @@ -432,4 +432,87 @@ async function submit(mode = 'save') { display: flex; gap: 12px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/meetings/MeetingDetail.vue b/ry-vue3/src/views/meetings/MeetingDetail.vue index 055e086..9c01e13 100644 --- a/ry-vue3/src/views/meetings/MeetingDetail.vue +++ b/ry-vue3/src/views/meetings/MeetingDetail.vue @@ -1990,4 +1990,87 @@ onBeforeUnmount(stopFeePolling) /* 表格外层横向滚动容器: 内容总宽 ~1680px 超出 left-col 宽度时, 容器内出现横向滚动条, 不撑爆外层 grid */ .attendee-table-wrap { overflow-x: auto; max-width: 100%; min-width: 0; } .row-actions { display: inline-flex; align-items: center; gap: 4px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/meetings/MeetingNew.vue b/ry-vue3/src/views/meetings/MeetingNew.vue index baa1ef0..23709d8 100644 --- a/ry-vue3/src/views/meetings/MeetingNew.vue +++ b/ry-vue3/src/views/meetings/MeetingNew.vue @@ -301,4 +301,87 @@ onMounted(async () => { display: flex; gap: 12px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/messages/Messages.vue b/ry-vue3/src/views/messages/Messages.vue index 8bc0dd0..76ad9bc 100644 --- a/ry-vue3/src/views/messages/Messages.vue +++ b/ry-vue3/src/views/messages/Messages.vue @@ -28,4 +28,87 @@ import NoticeList from '@/components/NoticeList.vue' color: #8c8c8c; margin-bottom: 12px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } diff --git a/ry-vue3/src/views/portal/Invitation.vue b/ry-vue3/src/views/portal/Invitation.vue index 2f17576..54ba264 100644 --- a/ry-vue3/src/views/portal/Invitation.vue +++ b/ry-vue3/src/views/portal/Invitation.vue @@ -115,4 +115,87 @@ load() .page-sub { color: #909399; font-size: 13px; margin: 0 0 16px; } .filter-bar { background: #fff; padding: 16px 20px; border-radius: 6px; border: 1px solid #f0f0f0; margin-bottom: 12px; } .page-card { background: #fff; padding: 16px; border-radius: 6px; border: 1px solid #f0f0f0; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/portal/SupportLetter.vue b/ry-vue3/src/views/portal/SupportLetter.vue index 978ee2b..5bfb16c 100644 --- a/ry-vue3/src/views/portal/SupportLetter.vue +++ b/ry-vue3/src/views/portal/SupportLetter.vue @@ -103,4 +103,87 @@ load() .page-sub { color: #909399; font-size: 13px; margin: 0 0 16px; } .filter-bar { background: #fff; padding: 16px 20px; border-radius: 6px; border: 1px solid #f0f0f0; margin-bottom: 12px; } .page-card { background: #fff; padding: 16px; border-radius: 6px; border: 1px solid #f0f0f0; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/sponsor-people/SponsorPersonDetail.vue b/ry-vue3/src/views/sponsor-people/SponsorPersonDetail.vue index 70701e9..e75c970 100644 --- a/ry-vue3/src/views/sponsor-people/SponsorPersonDetail.vue +++ b/ry-vue3/src/views/sponsor-people/SponsorPersonDetail.vue @@ -148,4 +148,87 @@ onMounted(loadDetail) /* 只读时禁用表单 input 鼠标样式, 保留视觉 */ :deep(.el-form.is-disabled .el-input__wrapper) { background-color: #f5f7fa; box-shadow: 0 0 0 1px #e4e7ed inset; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } diff --git a/ry-vue3/src/views/sponsor-people/SponsorPersonNew.vue b/ry-vue3/src/views/sponsor-people/SponsorPersonNew.vue index dc57822..6d87c12 100644 --- a/ry-vue3/src/views/sponsor-people/SponsorPersonNew.vue +++ b/ry-vue3/src/views/sponsor-people/SponsorPersonNew.vue @@ -176,4 +176,87 @@ onMounted(() => { :deep(.el-button--primary:hover) { background: var(--brand-primary-deep); border-color: var(--brand-primary-deep); } :deep(.el-button) { border-radius: 4px; } :deep(.el-input__wrapper) { border-radius: 4px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } diff --git a/ry-vue3/src/views/sponsor/Account.vue b/ry-vue3/src/views/sponsor/Account.vue index 027821b..236329f 100644 --- a/ry-vue3/src/views/sponsor/Account.vue +++ b/ry-vue3/src/views/sponsor/Account.vue @@ -79,4 +79,87 @@ onMounted(loadProfile) .breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 12px; } .account-form { max-width: 600px; } .filter-tip { color: #909399; font-size: 12px; margin-bottom: 12px; padding-left: 120px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/sponsor/NewPerson.vue b/ry-vue3/src/views/sponsor/NewPerson.vue index 12f4140..d99e2fa 100644 --- a/ry-vue3/src/views/sponsor/NewPerson.vue +++ b/ry-vue3/src/views/sponsor/NewPerson.vue @@ -289,4 +289,87 @@ onMounted(() => { :deep(.el-button--primary:hover) { background: var(--brand-primary-deep); border-color: var(--brand-primary-deep); } :deep(.el-button) { border-radius: 4px; } :deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file diff --git a/ry-vue3/src/views/sponsor/PersonDetail.vue b/ry-vue3/src/views/sponsor/PersonDetail.vue index 07074d0..3fab10c 100644 --- a/ry-vue3/src/views/sponsor/PersonDetail.vue +++ b/ry-vue3/src/views/sponsor/PersonDetail.vue @@ -150,4 +150,87 @@ onMounted(load) :deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; } :deep(.el-input.is-readonly .el-input__wrapper) { background-color: #fafafa; box-shadow: none; } + + + /* ======================================== + 移动端适配 (≤768px) + - 卡片 padding 收窄 + - 工具栏横向滚动 + - filter-form: label 与输入框横向 + - 表格字号收紧 + ======================================== */ + @media (max-width: 768px) { + /* 卡片 padding */ + .page-card { padding: 12px !important; border-radius: 4px !important; } + .breadcrumb { font-size: 12px !important; margin-bottom: 8px !important; } + + /* 工具栏: 横向滚动 */ + .toolbar { + flex-wrap: nowrap !important; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 6px; + margin-bottom: 8px !important; + scrollbar-width: thin; + } + .toolbar::-webkit-scrollbar { height: 4px; } + .toolbar::-webkit-scrollbar-thumb { background: var(--brand-slate-200); border-radius: 2px; } + .toolbar :deep(.action-btn), + .toolbar :deep(.el-button) { + flex-shrink: 0; + font-size: 12px !important; + padding: 0 10px !important; + height: 30px !important; + } + + /* filter-form: 横向 (label 左 + input 右) */ + .filter-form { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + gap: 10px !important; + } + .filter-form :deep(.el-form-item) { + display: flex !important; + align-items: center !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .filter-form :deep(.el-form-item__label) { + float: none !important; + width: auto !important; + min-width: 80px !important; + text-align: right !important; + padding: 0 8px 0 0 !important; + font-size: 13px !important; + color: var(--el-text-color-regular) !important; + line-height: 32px !important; + height: 32px !important; + } + .filter-form :deep(.el-form-item__content) { + margin-left: 0 !important; + line-height: 32px !important; + flex: 1 !important; + min-width: 0 !important; + } + + /* 强制所有控件全宽 */ + .filter-form :deep(.el-select), + .filter-form :deep(.el-input), + .filter-form :deep(.el-date-editor), + .filter-form :deep(.el-button), + .filter-form :deep(.el-cascader) { + width: 100% !important; + min-width: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + display: block !important; + } + .filter-form :deep(.el-button + .el-button) { + margin-top: 8px !important; + } + + /* 表格字号收紧 */ + :deep(.el-table) { font-size: 12px !important; } + } \ No newline at end of file