412 lines
7.3 KiB
CSS
412 lines
7.3 KiB
CSS
/* 评查点页面样式 */
|
|
|
|
/* 卡片组件样式 */
|
|
.ant-card {
|
|
@apply bg-white border border-gray-200 rounded-md shadow-sm mb-4 overflow-hidden;
|
|
}
|
|
|
|
.ant-card-header {
|
|
@apply flex items-center justify-between p-4 border-b border-gray-100 bg-gray-50;
|
|
}
|
|
|
|
.ant-card-header h3 {
|
|
@apply text-base font-medium m-0;
|
|
}
|
|
|
|
.ant-card-body {
|
|
@apply p-6;
|
|
}
|
|
|
|
/* 表单样式 */
|
|
.form-label {
|
|
@apply block text-sm font-medium text-gray-700 mb-1;
|
|
}
|
|
|
|
.form-input, .form-select, .form-textarea {
|
|
@apply w-full px-3 py-2 text-sm border border-gray-300 rounded-md shadow-sm
|
|
focus:outline-none focus:ring-2 focus:ring-[rgba(0,104,74,0.2)] focus:border-[#00684a]
|
|
transition-colors duration-200;
|
|
}
|
|
|
|
.form-textarea {
|
|
@apply min-h-[80px] resize;
|
|
}
|
|
|
|
.form-tip {
|
|
@apply mt-1 text-xs text-gray-500;
|
|
}
|
|
|
|
.required-mark {
|
|
@apply text-[#f5222d];
|
|
}
|
|
|
|
/* 按钮样式 */
|
|
.ant-btn {
|
|
@apply inline-flex items-center px-4 py-2 text-sm font-medium rounded-md border
|
|
shadow-sm transition-colors duration-200 focus:outline-none focus:ring-2
|
|
focus:ring-offset-2 justify-center cursor-pointer;
|
|
}
|
|
|
|
.ant-btn-primary {
|
|
@apply text-white bg-[#00684a] hover:bg-[#005a3f] border-transparent
|
|
focus:ring-[#00684a] disabled:bg-[rgba(0,104,74,0.5)] disabled:cursor-not-allowed;
|
|
}
|
|
|
|
.ant-btn-default {
|
|
@apply text-gray-700 bg-white hover:bg-gray-50 border-gray-300
|
|
focus:ring-[#00684a] disabled:bg-gray-100 disabled:text-gray-400
|
|
disabled:cursor-not-allowed;
|
|
}
|
|
|
|
/* 抽取方法切换按钮样式 */
|
|
#extraction-method-tabs {
|
|
display: flex;
|
|
border-bottom: 1px solid #f0f0f0;
|
|
background-color: white;
|
|
border-radius: 4px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.tab-nav-item {
|
|
padding: 10px 16px;
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
border-bottom: 2px solid transparent;
|
|
transition: all 0.3s;
|
|
display: flex;
|
|
align-items: center;
|
|
background: transparent;
|
|
border: none;
|
|
outline: none;
|
|
}
|
|
|
|
.tab-nav-item:hover {
|
|
color: #00684a;
|
|
background-color: rgba(0, 104, 74, 0.05);
|
|
}
|
|
|
|
.tab-nav-item.active {
|
|
color: #00684a;
|
|
border-bottom-color: #00684a;
|
|
background-color: rgba(0, 104, 74, 0.1);
|
|
font-weight: 500;
|
|
}
|
|
|
|
.extraction-config {
|
|
padding: 12px;
|
|
border: 1px solid #f0f0f0;
|
|
border-radius: 4px;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
/* 字段标签样式 */
|
|
.field-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
background-color: #f5f5f5;
|
|
color: #333;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 4px;
|
|
padding: 4px 12px;
|
|
margin: 4px;
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
transition: all 0.3s;
|
|
}
|
|
|
|
.field-tag:hover {
|
|
background-color: #e8f5e9;
|
|
border-color: #a5d6a7;
|
|
}
|
|
|
|
.field-tag.selected {
|
|
background-color: var(--primary-color, #00684a);
|
|
color: white;
|
|
border-color: var(--primary-color, #00684a);
|
|
}
|
|
|
|
/* 不可用但已选择的字段样式 */
|
|
.field-tag.unavailable {
|
|
border-style: dashed;
|
|
opacity: 0.7;
|
|
}
|
|
|
|
.field-tag.unavailable:hover {
|
|
opacity: 0.9;
|
|
}
|
|
|
|
.field-tags-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 6px;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.chips-container {
|
|
padding: 6px;
|
|
border: 1px solid #f0f0f0;
|
|
border-radius: 4px;
|
|
min-height: 36px;
|
|
background-color: #fafafa;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 4px;
|
|
}
|
|
|
|
.chip {
|
|
padding: 3px 6px;
|
|
background-color: #f5f5f5;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.chip .close-btn {
|
|
margin-left: 4px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
color: #999;
|
|
width: 16px;
|
|
height: 16px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.chip .close-btn:hover {
|
|
background-color: rgba(0, 0, 0, 0.1);
|
|
color: #555;
|
|
}
|
|
|
|
.extraction-config .form-input,
|
|
.extraction-config .form-select,
|
|
.extraction-config button.ant-btn {
|
|
padding: 4px 8px;
|
|
font-size: 13px;
|
|
height: auto;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
/* 变量标签样式 */
|
|
.var-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 4px 8px;
|
|
background-color: rgba(0, 104, 74, 0.1);
|
|
color: #00684a;
|
|
border: 1px solid rgba(0, 104, 74, 0.2);
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.var-tag:hover {
|
|
background-color: rgba(0, 104, 74, 0.2);
|
|
border-color: rgba(0, 104, 74, 0.3);
|
|
}
|
|
|
|
.var-tag::before {
|
|
content: '{';
|
|
margin-right: 1px;
|
|
}
|
|
|
|
.var-tag::after {
|
|
content: '}';
|
|
margin-left: 1px;
|
|
}
|
|
|
|
/* 法典引用样式 */
|
|
.law-reference {
|
|
background-color: #f0f9ff;
|
|
border: 1px solid #bae0ff;
|
|
border-radius: 4px;
|
|
padding: 12px;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.law-reference-title {
|
|
color: #0958d9;
|
|
font-weight: 500;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.law-reference-articles {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.law-article {
|
|
background-color: #e6f4ff;
|
|
border: 1px solid #91caff;
|
|
border-radius: 12px;
|
|
padding: 2px 8px;
|
|
font-size: 12px;
|
|
color: #0958d9;
|
|
}
|
|
|
|
.law-reference-content {
|
|
font-size: 13px;
|
|
color: #434343;
|
|
line-height: 1.6;
|
|
border-left: 3px solid #bae0ff;
|
|
padding-left: 8px;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.expand-icon {
|
|
transition: transform 0.3s;
|
|
}
|
|
|
|
.expanded .expand-icon {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
/* 自定义宽度类 */
|
|
.w-3\/10 {
|
|
width: 30%;
|
|
}
|
|
|
|
.w-7\/10 {
|
|
width: 70%;
|
|
}
|
|
|
|
/* 正则表达式配置行样式优化 */
|
|
.regex-field-row {
|
|
padding: 6px !important;
|
|
margin-bottom: 6px !important;
|
|
}
|
|
|
|
.regex-field-row input {
|
|
padding: 3px 6px;
|
|
font-size: 12px;
|
|
}
|
|
|
|
/* 隐藏单选按钮 */
|
|
.severity-radio {
|
|
position: absolute;
|
|
opacity: 0;
|
|
width: 0;
|
|
height: 0;
|
|
}
|
|
|
|
/* 单选表单组 */
|
|
.form-radio-group {
|
|
@apply flex flex-wrap gap-4;
|
|
}
|
|
|
|
.form-radio-item {
|
|
@apply flex items-center cursor-pointer mb-2;
|
|
}
|
|
|
|
.form-radio {
|
|
@apply w-4 h-4 mr-2 text-[#00684a] focus:ring-[#00684a];
|
|
}
|
|
|
|
/* 分隔线 */
|
|
.divider {
|
|
@apply h-px w-full bg-gray-200 my-6;
|
|
}
|
|
|
|
/* 徽章 */
|
|
.badge {
|
|
@apply inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium;
|
|
}
|
|
|
|
/* 警告信息类型卡片 */
|
|
.severity-option {
|
|
@apply transition-all duration-200;
|
|
}
|
|
|
|
.severity-option.selected-severity {
|
|
@apply shadow-md;
|
|
}
|
|
|
|
/* 提示信息 */
|
|
.bg-blue-50 {
|
|
@apply bg-[#e6f7ff];
|
|
}
|
|
|
|
.border-blue-200 {
|
|
@apply border-[#91d5ff];
|
|
}
|
|
|
|
.text-blue-700 {
|
|
@apply text-[#1890ff];
|
|
}
|
|
|
|
/* 容器通用样式 */
|
|
.container {
|
|
@apply mx-auto px-4;
|
|
}
|
|
|
|
/* 颜色变量 */
|
|
:root {
|
|
--primary-color: #00684a;
|
|
--primary-color-light: rgba(0, 104, 74, 0.1);
|
|
--primary-color-hover: rgba(0, 104, 74, 0.2);
|
|
--primary-color-border: rgba(0, 104, 74, 0.3);
|
|
}
|
|
|
|
/* 代码编辑器样式 */
|
|
.code-editor-wrapper {
|
|
border: 1px solid #444;
|
|
border-radius: 4px;
|
|
overflow: hidden;
|
|
background-color: #282c34;
|
|
}
|
|
|
|
.code-editor-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 8px 12px;
|
|
background-color: #21252b;
|
|
border-bottom: 1px solid #444;
|
|
color: #abb2bf;
|
|
}
|
|
|
|
.code-editor-filename {
|
|
font-family: monospace;
|
|
font-size: 13px;
|
|
color: #abb2bf;
|
|
}
|
|
|
|
.code-editor-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
}
|
|
|
|
.code-editor-actions button {
|
|
cursor: pointer;
|
|
color: #abb2bf;
|
|
}
|
|
|
|
.code-editor-actions button:hover {
|
|
color: #ffffff;
|
|
}
|
|
|
|
.code-copy-success {
|
|
position: fixed;
|
|
bottom: 20px;
|
|
right: 20px;
|
|
background-color: rgba(0, 104, 74, 0.9);
|
|
color: white;
|
|
padding: 8px 16px;
|
|
border-radius: 4px;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
transition: all 0.3s;
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
z-index: 1000;
|
|
}
|
|
|
|
.code-copy-success.show {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
} |