完成智慧法务前端调整20250522,还有登录和主页需要完善

This commit is contained in:
2025-05-27 23:48:28 +08:00
parent 742a789244
commit 690d369f57
30 changed files with 1557 additions and 292 deletions
+69 -9
View File
@@ -145,13 +145,73 @@
}
}
/* 明确指定浅色模式 */
.date-range-picker.color-mode-light .date-label {
color: #666 !important;
}
.date-range-picker.color-mode-light .date-display {
background-color: #fff !important;
border-color: #e0e0e0 !important;
color: #333 !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") !important;
}
.date-range-picker.color-mode-light .date-display.placeholder {
color: #999 !important;
}
.date-range-picker.color-mode-light .date-display:hover {
border-color: #c0c0c0 !important;
background-color: #fafafa !important;
}
.date-range-picker.color-mode-light .date-input-wrapper.focused .date-display {
border-color: var(--primary-color) !important;
box-shadow: 0 0 0 2px rgba(0,104,74, 0.2) !important;
}
.date-range-picker.color-mode-light .date-separator {
color: #999 !important;
}
/* 明确指定深色模式 */
.date-range-picker.color-mode-dark .date-label {
color: #b0b0b0 !important;
}
.date-range-picker.color-mode-dark .date-display {
background-color: #1f1f1f !important;
border-color: #444 !important;
color: #e0e0e0 !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") !important;
}
.date-range-picker.color-mode-dark .date-display.placeholder {
color: #777 !important;
}
.date-range-picker.color-mode-dark .date-display:hover {
border-color: #555 !important;
background-color: #2a2a2a !important;
}
.date-range-picker.color-mode-dark .date-input-wrapper.focused .date-display {
border-color: #177ddc !important;
box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.2) !important;
}
.date-range-picker.color-mode-dark .date-separator {
color: #888 !important;
}
/* 深色模式支持 */
@media (prefers-color-scheme: dark) {
.date-label {
.date-range-picker:not(.color-mode-light) .date-label {
color: #b0b0b0;
}
.date-display {
.date-range-picker:not(.color-mode-light) .date-display {
background-color: #1f1f1f;
border-color: #444;
color: #e0e0e0;
@@ -159,40 +219,40 @@
}
/* 深色模式占位符 */
.date-display.placeholder {
.date-range-picker:not(.color-mode-light) .date-display.placeholder {
color: #777;
}
/* 深色模式悬停状态 */
.date-display:hover {
.date-range-picker:not(.color-mode-light) .date-display:hover {
border-color: #555;
background-color: #2a2a2a;
}
/* 深色模式聚焦的输入容器 */
.date-input-wrapper.focused .date-display {
.date-range-picker:not(.color-mode-light) .date-input-wrapper.focused .date-display {
border-color: #177ddc;
box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.2);
}
.date-input:focus + .date-display {
.date-range-picker:not(.color-mode-light) .date-input:focus + .date-display {
border-color: #177ddc;
box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.2);
}
/* 深色模式焦点状态 */
.date-display:focus {
.date-range-picker:not(.color-mode-light) .date-display:focus {
border-color: #177ddc;
box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.2);
}
/* 深色模式按下状态 */
.date-display:active {
.date-range-picker:not(.color-mode-light) .date-display:active {
background-color: #2d2d2d;
border-color: #666;
}
.date-separator {
.date-range-picker:not(.color-mode-light) .date-separator {
color: #888;
}
}
+156 -6
View File
@@ -80,6 +80,31 @@
@apply bg-purple-100 text-purple-800;
}
/* 新增的文档类型样式 */
/* 合同文档 */
.file-type-tag-contract {
background-color: #e8f5fd;
color: #0077cc;
}
/* 行政许可卷宗 */
.file-type-tag-license-doc {
background-color: #e8fdf5;
color: #00a67e;
}
/* 行政处罚卷宗 */
.file-type-tag-punishment-doc {
background-color: #fee7e7;
color: #e53e3e;
}
/* 其他文档 */
.file-type-tag-other {
background-color: #fef5e7;
color: #dd6b20;
}
/* 尺寸变体 */
.file-type-tag-sm {
padding: 2px 6px;
@@ -139,35 +164,160 @@
opacity: 0.9;
}
/* 明确指定浅色模式 */
.file-type-tag.color-mode-light {
background-color: #f0f0f0 !important;
color: #333 !important;
}
.file-type-tag.color-mode-light.file-type-sales-contract {
background-color: #e8f5fd !important;
color: #0077cc !important;
}
.file-type-tag.color-mode-light.file-type-purchase-contract {
background-color: #f5f0ff !important;
color: #6b46c1 !important;
}
.file-type-tag.color-mode-light.file-type-license {
background-color: #fef5e7 !important;
color: #dd6b20 !important;
}
.file-type-tag.color-mode-light.file-type-punishment {
background-color: #fee7e7 !important;
color: #e53e3e !important;
}
.file-type-tag.color-mode-light.file-type-agreement {
background-color: #e8fdf5 !important;
color: #00a67e !important;
}
/* 新增文档类型的浅色模式 */
.file-type-tag.color-mode-light.file-type-tag-contract {
background-color: #e8f5fd !important;
color: #0077cc !important;
}
.file-type-tag.color-mode-light.file-type-tag-license-doc {
background-color: #e8fdf5 !important;
color: #00a67e !important;
}
.file-type-tag.color-mode-light.file-type-tag-punishment-doc {
background-color: #fee7e7 !important;
color: #e53e3e !important;
}
.file-type-tag.color-mode-light.file-type-tag-other {
background-color: #fef5e7 !important;
color: #dd6b20 !important;
}
/* 明确指定深色模式 */
.file-type-tag.color-mode-dark {
background-color: #2d2d2d !important;
color: #e0e0e0 !important;
}
.file-type-tag.color-mode-dark.file-type-sales-contract {
background-color: rgba(0, 119, 204, 0.2) !important;
color: #4db8ff !important;
}
.file-type-tag.color-mode-dark.file-type-purchase-contract {
background-color: rgba(107, 70, 193, 0.2) !important;
color: #b794f4 !important;
}
.file-type-tag.color-mode-dark.file-type-license {
background-color: rgba(221, 107, 32, 0.2) !important;
color: #f6ad55 !important;
}
.file-type-tag.color-mode-dark.file-type-punishment {
background-color: rgba(229, 62, 62, 0.2) !important;
color: #fc8181 !important;
}
.file-type-tag.color-mode-dark.file-type-agreement {
background-color: rgba(0, 166, 126, 0.2) !important;
color: #68d5b1 !important;
}
/* 新增文档类型的深色模式 */
.file-type-tag.color-mode-dark.file-type-tag-contract {
background-color: rgba(0, 119, 204, 0.2) !important;
color: #4db8ff !important;
}
.file-type-tag.color-mode-dark.file-type-tag-license-doc {
background-color: rgba(0, 166, 126, 0.2) !important;
color: #68d5b1 !important;
}
.file-type-tag.color-mode-dark.file-type-tag-punishment-doc {
background-color: rgba(229, 62, 62, 0.2) !important;
color: #fc8181 !important;
}
.file-type-tag.color-mode-dark.file-type-tag-other {
background-color: rgba(221, 107, 32, 0.2) !important;
color: #f6ad55 !important;
}
/* 适配深色模式 */
@media (prefers-color-scheme: dark) {
.file-type-tag {
.file-type-tag:not(.color-mode-light) {
background-color: #2d2d2d;
color: #e0e0e0;
}
.file-type-sales-contract {
.file-type-tag:not(.color-mode-light).file-type-sales-contract {
background-color: rgba(0, 119, 204, 0.2);
color: #4db8ff;
}
.file-type-purchase-contract {
.file-type-tag:not(.color-mode-light).file-type-purchase-contract {
background-color: rgba(107, 70, 193, 0.2);
color: #b794f4;
}
.file-type-license {
.file-type-tag:not(.color-mode-light).file-type-license {
background-color: rgba(221, 107, 32, 0.2);
color: #f6ad55;
}
.file-type-punishment {
.file-type-tag:not(.color-mode-light).file-type-punishment {
background-color: rgba(229, 62, 62, 0.2);
color: #fc8181;
}
.file-type-agreement {
.file-type-tag:not(.color-mode-light).file-type-agreement {
background-color: rgba(0, 166, 126, 0.2);
color: #68d5b1;
}
/* 新增文档类型的深色模式自动适配 */
.file-type-tag:not(.color-mode-light).file-type-tag-contract {
background-color: rgba(0, 119, 204, 0.2);
color: #4db8ff;
}
.file-type-tag:not(.color-mode-light).file-type-tag-license-doc {
background-color: rgba(0, 166, 126, 0.2);
color: #68d5b1;
}
.file-type-tag:not(.color-mode-light).file-type-tag-punishment-doc {
background-color: rgba(229, 62, 62, 0.2);
color: #fc8181;
}
.file-type-tag:not(.color-mode-light).file-type-tag-other {
background-color: rgba(221, 107, 32, 0.2);
color: #f6ad55;
}
}
+159 -125
View File
@@ -1,127 +1,161 @@
/**
* 首页特定样式
*/
/* 仪表盘容器 */
.dashboard-container {
@apply p-2;
}
/* 统计卡片 */
.stat-grid {
@apply grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 p-4;
}
.stat-card {
@apply bg-white rounded-lg p-4 shadow transition-all duration-200 relative;
}
.stat-card:hover {
@apply transform -translate-y-[3px] shadow-[0_4px_15px_rgba(0,0,0,0.1)];
}
.stat-title {
@apply text-sm text-gray-600 mb-2.5;
}
.stat-value {
@apply text-2xl font-semibold text-gray-900 mb-2.5;
}
.stat-trend {
@apply flex items-center text-xs;
}
.stat-trend.trend-up {
@apply text-[#52c41a];
}
.stat-trend.trend-down {
@apply text-[#f5222d];
}
.stat-icon {
@apply absolute right-4 top-4 text-2xl text-[#00684a] opacity-20;
}
/* 快捷访问网格 */
.shortcut-grid {
@apply grid grid-cols-2 sm:grid-cols-4 lg:grid-cols-8 gap-4 p-4;
}
.shortcut-item {
@apply flex flex-col items-center justify-center p-4 bg-white rounded-lg shadow
transition-all duration-200 cursor-pointer text-gray-900 h-24;
}
.shortcut-item:hover {
@apply transform -translate-y-[3px] shadow-[0_4px_12px_rgba(0,0,0,0.1)]
bg-[rgba(0,104,74,0.05)] text-[#00684a];
}
.shortcut-icon {
@apply text-2xl text-[#00684a] mb-2.5;
}
.shortcut-label {
@apply text-sm text-center;
}
/* 文档列表 */
.doc-list {
@apply space-y-3 p-4;
}
.doc-item {
@apply flex justify-between items-center p-3 border border-gray-100 rounded-lg hover:bg-gray-50 transition-colors duration-200;
}
.doc-info {
@apply flex items-center;
}
.doc-icon {
@apply text-2xl mr-3 text-primary;
}
.doc-name {
@apply text-sm font-medium text-gray-800 mb-1;
}
.doc-meta {
@apply text-xs text-gray-500;
}
.doc-status {
@apply flex items-center;
}
/* 卡片样式 */
.dashboard-card {
@apply bg-white rounded-lg shadow p-5 mb-5 transition-all duration-200;
}
.dashboard-card:hover {
@apply transform -translate-y-[3px] shadow-[0_4px_15px_rgba(0,0,0,0.1)];
}
.card-title {
@apply text-base font-semibold mb-4 flex items-center text-gray-900;
}
.card-title i {
@apply text-xl text-[#00684a] mr-2;
}
/* 响应式调整 */
@screen md {
.stat-grid {
@apply grid-cols-2;
/* 主页样式 */
.home-page {
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #f0f7f4;
}
}
@screen lg {
.stat-grid {
@apply grid-cols-4;
/* 头部样式 */
.header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 2rem;
background-color: white;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
}
.logo-container {
display: flex;
align-items: center;
}
.logo {
height: 36px;
margin-right: 0.75rem;
}
.logo-text {
font-size: 1.125rem;
font-weight: 600;
color: #333;
margin-right: 0.5rem;
}
.logo-text-en {
font-size: 0.75rem;
color: #666;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.05rem;
}
.user-info {
display: flex;
align-items: center;
gap: 1.5rem;
}
.datetime {
font-size: 0.875rem;
color: #666;
}
.user {
display: flex;
align-items: center;
gap: 0.5rem;
}
.avatar {
width: 32px;
height: 32px;
border-radius: 50%;
object-fit: cover;
}
.username {
font-size: 0.875rem;
font-weight: 500;
color: #333;
}
/* 主要内容区域 */
.main-content {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
padding: 3rem 1.5rem;
padding-bottom: 0;
}
.welcome-text {
font-size: 1.75rem;
font-weight: 500;
color: #333;
margin-bottom: 3rem;
text-align: center;
}
.modules-container {
display: flex;
justify-content: center;
gap: 2.5rem;
margin-bottom: 3rem;
}
.module-card {
display: flex;
flex-direction: column;
align-items: center;
width: 250px;
padding: 2rem 1.5rem;
background-color: white;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
transition: transform 0.2s, box-shadow 0.2s;
cursor: pointer;
}
.module-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}
.module-icon {
width: 64px;
height: 64px;
margin-bottom: 1.5rem;
background-position: center;
background-repeat: no-repeat;
background-size: contain;
}
.contract-icon {
background-image: url('/images/contract-icon.svg');
}
.review-icon {
background-image: url('/images/review-icon.svg');
}
.ai-icon {
background-image: url('/images/ai-icon.svg');
}
.module-name {
font-size: 1.125rem;
font-weight: 500;
color: #333;
}
/* 底部山水背景 */
.footer {
height: 200px;
overflow: hidden;
position: relative;
}
.mountains-bg {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('/images/mountains-bg.svg');
background-position: center bottom;
background-repeat: no-repeat;
background-size: cover;
}
+103
View File
@@ -0,0 +1,103 @@
/* 登录页面样式 */
.login-page {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: linear-gradient(135deg, #f0f7f4 0%, #c5e8e0 100%);
}
.login-container {
width: 100%;
max-width: 480px;
padding: 2rem;
background-color: white;
border-radius: 8px;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.login-header {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 2rem;
}
.login-logo {
height: 60px;
margin-bottom: 1rem;
}
.login-title {
font-size: 1.5rem;
font-weight: 600;
color: #015c42;
text-align: center;
}
.login-subtitle {
font-size: 1.25rem;
font-weight: 500;
color: #333;
margin-bottom: 1.5rem;
text-align: center;
}
.login-form-container {
margin-bottom: 2rem;
}
.login-form {
display: flex;
flex-direction: column;
gap: 1.5rem;
}
.form-group {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.form-group label {
font-size: 0.875rem;
font-weight: 500;
color: #555;
}
.form-input {
padding: 0.75rem 1rem;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 1rem;
transition: border-color 0.2s;
}
.form-input:focus {
border-color: #2cad7d;
outline: none;
box-shadow: 0 0 0 2px rgba(44, 173, 125, 0.2);
}
.login-button {
margin-top: 1rem;
padding: 0.75rem 1.5rem;
background-color: #2cad7d;
color: white;
border: none;
border-radius: 4px;
font-size: 1rem;
font-weight: 500;
cursor: pointer;
transition: background-color 0.2s;
}
.login-button:hover {
background-color: #1e9668;
}
.login-footer {
text-align: center;
font-size: 0.875rem;
color: #777;
}
+128
View File
@@ -0,0 +1,128 @@
/**
* 首页特定样式
*/
/* 仪表盘容器 */
.dashboard-container {
@apply pt-0;
}
/* 统计卡片 */
.stat-grid {
@apply grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 p-4;
}
.stat-card {
@apply bg-white rounded-lg p-4 shadow transition-all duration-200 relative;
}
.stat-card:hover {
@apply transform -translate-y-[3px] shadow-[0_4px_15px_rgba(0,0,0,0.1)];
}
.stat-title {
@apply text-sm text-gray-600 mb-2.5;
}
.stat-value {
@apply text-2xl font-semibold text-gray-900 mb-2.5;
}
.stat-trend {
@apply flex items-center text-xs;
}
.stat-trend.trend-up {
@apply text-[#52c41a];
}
.stat-trend.trend-down {
@apply text-[#f5222d];
}
.stat-icon {
@apply absolute right-4 top-4 text-2xl text-[#00684a] opacity-20;
}
/* 快捷访问网格 */
.shortcut-grid {
@apply grid grid-cols-2 sm:grid-cols-4 lg:grid-cols-8 gap-4 p-4;
}
.shortcut-item {
@apply flex flex-col items-center justify-center p-4 bg-white rounded-lg shadow
transition-all duration-200 cursor-pointer text-gray-900 h-24;
}
.shortcut-item:hover {
@apply transform -translate-y-[3px] shadow-[0_4px_12px_rgba(0,0,0,0.1)]
bg-[rgba(0,104,74,0.05)] text-[#00684a];
}
.shortcut-icon {
@apply text-2xl text-[#00684a] mb-2.5;
}
.shortcut-label {
@apply text-sm text-center;
}
/* 文档列表 */
.doc-list {
@apply space-y-3 p-4;
}
.doc-item {
@apply flex justify-between items-center p-3 border border-gray-100 rounded-lg hover:bg-gray-50 transition-colors duration-200;
}
.doc-info {
@apply flex items-center;
}
.doc-icon {
@apply text-2xl mr-3 text-primary;
}
.doc-name {
@apply text-sm font-medium text-gray-800 mb-1;
}
.doc-meta {
@apply text-xs text-gray-500;
}
.doc-status {
@apply flex items-center;
}
/* 卡片样式 */
.dashboard-card {
@apply bg-white rounded-lg shadow p-5 mb-5 transition-all duration-200;
}
.dashboard-card:hover {
@apply transform -translate-y-[3px] shadow-[0_4px_15px_rgba(0,0,0,0.1)];
}
.card-title {
@apply text-base font-semibold mb-4 flex items-center text-gray-900;
}
.card-title i {
@apply text-xl text-[#00684a] mr-2;
}
/* 响应式调整 */
@screen md {
.stat-grid {
@apply grid-cols-2;
}
}
@screen lg {
.stat-grid {
@apply grid-cols-4;
}
}
+1 -1
View File
@@ -11,7 +11,7 @@
--bg-gray: #f5f5f5;
}
.container {
.review-container {
width: 100%;
}
+2 -2
View File
@@ -209,7 +209,7 @@
border-color: rgba(0, 104, 74, 0.3);
}
.var-tag::before {
/* .var-tag::before {
content: '{';
margin-right: 1px;
}
@@ -217,7 +217,7 @@
.var-tag::after {
content: '}';
margin-left: 1px;
}
} */
/* 法典引用样式 */
.law-reference {