Merge branch 'shiy' into awen
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
.document-types-page {
|
||||
@apply w-full;
|
||||
}
|
||||
|
||||
.document-types-page .page-header {
|
||||
@apply flex justify-between items-center mb-4;
|
||||
}
|
||||
|
||||
.document-types-page .page-title {
|
||||
@apply text-xl font-medium;
|
||||
}
|
||||
|
||||
.document-types-page .type-badge {
|
||||
@apply inline-flex items-center px-2 py-0.5 rounded-full text-xs bg-primary-50 text-primary-600 mr-1 mb-1;
|
||||
}
|
||||
|
||||
.document-types-page .groups-container {
|
||||
@apply flex flex-wrap gap-1 max-w-md;
|
||||
}
|
||||
|
||||
.document-types-page .operation-btn {
|
||||
@apply inline-flex items-center text-sm px-2 py-1 rounded hover:bg-gray-100;
|
||||
}
|
||||
|
||||
.document-types-page .operation-btn i {
|
||||
@apply mr-1;
|
||||
}
|
||||
|
||||
.document-types-page .text-primary {
|
||||
@apply text-primary-600;
|
||||
}
|
||||
|
||||
.document-types-page .text-error {
|
||||
@apply text-red-600;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,142 @@
|
||||
.document-type-new-page {
|
||||
@apply w-full;
|
||||
}
|
||||
|
||||
.document-type-new-page .page-header {
|
||||
@apply flex justify-between items-center mb-4;
|
||||
}
|
||||
|
||||
.document-type-new-page .page-title {
|
||||
@apply text-xl font-medium;
|
||||
}
|
||||
|
||||
.document-type-new-page .form-group {
|
||||
@apply mb-4;
|
||||
}
|
||||
|
||||
.document-type-new-page .form-label {
|
||||
@apply block text-sm font-medium text-gray-700 mb-1;
|
||||
}
|
||||
|
||||
.document-type-new-page .form-input,
|
||||
.document-type-new-page .form-textarea,
|
||||
.document-type-new-page .form-select {
|
||||
@apply w-full rounded-md border border-gray-300 shadow-sm px-3 py-2 transition-all duration-300;
|
||||
@apply focus:outline-none focus:border-[var(--primary-color)] focus:shadow-[0_0_0_2px_rgba(0,104,74,0.2)];
|
||||
}
|
||||
|
||||
.document-type-new-page .form-textarea {
|
||||
@apply resize-none;
|
||||
}
|
||||
|
||||
.document-type-new-page .form-tip {
|
||||
@apply text-xs text-gray-500 mt-1;
|
||||
}
|
||||
|
||||
.document-type-new-page .input-error {
|
||||
@apply border-red-500;
|
||||
}
|
||||
|
||||
.document-type-new-page .error-message {
|
||||
@apply text-sm text-red-600 mt-1 font-medium;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.document-type-new-page .error-message::before {
|
||||
content: "⚠️";
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
|
||||
.document-type-new-page .error-show {
|
||||
display: flex !important;
|
||||
color: #ff4d4f;
|
||||
font-weight: 500;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.document-type-new-page .general-error {
|
||||
@apply flex items-center p-3 mb-4 bg-red-50 rounded-md text-red-600 text-sm;
|
||||
}
|
||||
|
||||
.document-type-new-page .general-error i {
|
||||
@apply mr-2;
|
||||
}
|
||||
|
||||
.document-type-new-page .group-error {
|
||||
@apply border border-red-500 rounded-md;
|
||||
}
|
||||
|
||||
/* 复选框样式 */
|
||||
.document-type-new-page .checkbox-group {
|
||||
@apply flex flex-col gap-2 mt-2;
|
||||
}
|
||||
|
||||
.document-type-new-page .checkbox-item {
|
||||
@apply flex items-center p-2 border border-gray-200 rounded cursor-pointer transition-all;
|
||||
}
|
||||
|
||||
.document-type-new-page .checkbox-item:hover {
|
||||
@apply border-[var(--primary-color)] bg-[rgba(0,104,74,0.15)];
|
||||
}
|
||||
|
||||
.document-type-new-page .checkbox-item.checked {
|
||||
@apply border-[var(--primary-color)] bg-[rgba(0,104,74,0.25)];
|
||||
}
|
||||
|
||||
/* 父子级分组样式 */
|
||||
.document-type-new-page .parent-checkbox-item {
|
||||
@apply bg-gray-50 font-medium;
|
||||
}
|
||||
|
||||
.document-type-new-page .child-checkbox-item {
|
||||
@apply ml-8 border-l-2 border-l-[var(--primary-color)];
|
||||
}
|
||||
|
||||
.document-type-new-page .expand-icon {
|
||||
@apply w-6 h-6 flex items-center justify-center rounded hover:bg-[rgba(0,104,74,0.15)] mr-2 cursor-pointer;
|
||||
}
|
||||
|
||||
.document-type-new-page .group-badge {
|
||||
@apply inline-flex items-center px-2 py-0.5 rounded-full text-xs ml-2;
|
||||
}
|
||||
|
||||
.document-type-new-page .parent-badge {
|
||||
@apply bg-[rgba(0,104,74,1)] text-white;
|
||||
}
|
||||
|
||||
.document-type-new-page .child-badge {
|
||||
@apply bg-[rgba(0,104,1,0.61)] text-white;
|
||||
}
|
||||
|
||||
/* 添加checkbox-input样式,使用视觉上更美观的自定义复选框样式 */
|
||||
.document-type-new-page .checkbox-input {
|
||||
@apply mr-2 h-4 w-4 text-primary-600 border-gray-300 rounded;
|
||||
@apply focus:ring-primary-500 cursor-pointer;
|
||||
}
|
||||
|
||||
.document-type-new-page .checkbox-label {
|
||||
@apply text-gray-700 font-normal cursor-pointer flex-1 flex items-center;
|
||||
@apply bg-transparent border-none p-0 text-left appearance-none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.document-type-new-page .checkbox-label:focus {
|
||||
@apply outline-none ring-2 ring-primary-300 rounded;
|
||||
}
|
||||
|
||||
.document-type-new-page .checkbox-item.checked .checkbox-label {
|
||||
@apply text-[var(--primary-color)] font-medium;
|
||||
}
|
||||
|
||||
.document-type-new-page .radio-input {
|
||||
@apply mr-1 h-4 w-4 text-primary-600 border-gray-300 rounded;
|
||||
@apply focus:ring-primary-500 cursor-pointer;
|
||||
accent-color: #00684a;
|
||||
}
|
||||
|
||||
/* 更完整的自定义单选按钮样式(可选) */
|
||||
.document-type-new-page .radio-input:checked {
|
||||
background-color: #00684a;
|
||||
border-color: #00684a;
|
||||
}
|
||||
@@ -0,0 +1,201 @@
|
||||
.document-edit-page {
|
||||
@apply w-full;
|
||||
}
|
||||
|
||||
.document-edit-page .page-header {
|
||||
@apply flex justify-between items-center mb-4;
|
||||
}
|
||||
|
||||
.document-edit-page .page-title {
|
||||
@apply text-xl font-medium;
|
||||
}
|
||||
|
||||
.document-edit-page .form-group {
|
||||
@apply mb-4;
|
||||
}
|
||||
|
||||
.document-edit-page .form-label {
|
||||
@apply block text-sm font-medium text-gray-700 mb-1;
|
||||
}
|
||||
|
||||
.document-edit-page .form-input,
|
||||
.document-edit-page .form-textarea,
|
||||
.document-edit-page .form-select {
|
||||
@apply w-full rounded-md border border-gray-300 shadow-sm px-3 py-2;
|
||||
@apply focus:outline-none focus:ring-1 focus:ring-primary-500 focus:border-primary-500;
|
||||
}
|
||||
|
||||
.document-edit-page .text-secondary {
|
||||
@apply text-gray-500;
|
||||
}
|
||||
|
||||
/* 文档信息样式 */
|
||||
.document-info {
|
||||
@apply flex items-start mb-6;
|
||||
}
|
||||
|
||||
.document-icon {
|
||||
@apply text-3xl mr-4 p-2 bg-gray-50 rounded-lg;
|
||||
}
|
||||
|
||||
.document-details {
|
||||
@apply flex-1;
|
||||
}
|
||||
|
||||
.document-name {
|
||||
@apply text-lg font-medium mb-1;
|
||||
}
|
||||
|
||||
.document-meta {
|
||||
@apply flex items-center flex-wrap gap-4 text-sm text-gray-600;
|
||||
}
|
||||
|
||||
.meta-item {
|
||||
@apply flex items-center;
|
||||
}
|
||||
|
||||
.meta-item i {
|
||||
@apply mr-1;
|
||||
}
|
||||
|
||||
/* 状态徽章样式 */
|
||||
.status-badge {
|
||||
@apply inline-flex items-center px-2 py-0.5 rounded-full text-xs;
|
||||
}
|
||||
|
||||
.status-pending {
|
||||
@apply bg-blue-50 text-blue-600;
|
||||
}
|
||||
|
||||
.status-processing {
|
||||
@apply bg-yellow-50 text-yellow-600;
|
||||
}
|
||||
|
||||
.status-pass {
|
||||
@apply bg-green-50 text-green-600;
|
||||
}
|
||||
|
||||
.status-warning {
|
||||
@apply bg-orange-50 text-orange-600;
|
||||
}
|
||||
|
||||
.status-fail {
|
||||
@apply bg-red-50 text-red-600;
|
||||
}
|
||||
|
||||
/* 提示框样式 */
|
||||
.alert {
|
||||
@apply flex items-center p-3 rounded-md;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
@apply bg-blue-50 border border-blue-100 text-blue-700;
|
||||
}
|
||||
|
||||
/* 切换开关样式 */
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 36px;
|
||||
height: 20px;
|
||||
@apply align-middle;
|
||||
}
|
||||
|
||||
.switch input {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
transition: .4s;
|
||||
border-radius: 34px;
|
||||
}
|
||||
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
left: 2px;
|
||||
bottom: 2px;
|
||||
background-color: white;
|
||||
transition: .4s;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
input:checked + .slider {
|
||||
@apply bg-primary-500;
|
||||
}
|
||||
|
||||
input:focus + .slider {
|
||||
@apply ring-2 ring-offset-2 ring-primary-500;
|
||||
}
|
||||
|
||||
input:checked + .slider:before {
|
||||
transform: translateX(16px);
|
||||
}
|
||||
|
||||
/* 文档预览样式 */
|
||||
.document-preview {
|
||||
@apply border border-gray-200 rounded-md overflow-hidden h-96;
|
||||
}
|
||||
|
||||
.preview-toolbar {
|
||||
@apply px-4 py-2 bg-gray-50 border-b border-gray-200 flex justify-between items-center;
|
||||
}
|
||||
|
||||
.preview-content {
|
||||
@apply h-full overflow-auto p-4 bg-white;
|
||||
}
|
||||
|
||||
.preview-placeholder {
|
||||
@apply flex flex-col justify-center items-center h-full text-gray-500;
|
||||
}
|
||||
|
||||
.preview-placeholder i {
|
||||
@apply text-4xl mb-4 text-gray-300;
|
||||
}
|
||||
|
||||
/* 历史时间线样式 */
|
||||
.history-timeline {
|
||||
@apply relative pl-5 mt-5;
|
||||
}
|
||||
|
||||
.history-timeline::before {
|
||||
content: '';
|
||||
@apply absolute left-0 top-2 bottom-2 w-0.5 bg-gray-100;
|
||||
}
|
||||
|
||||
.timeline-item {
|
||||
@apply relative pb-4;
|
||||
}
|
||||
|
||||
.timeline-item::before {
|
||||
content: '';
|
||||
@apply absolute w-2.5 h-2.5 rounded-full bg-primary-500 -left-6 top-1.5;
|
||||
}
|
||||
|
||||
.timeline-item:last-child {
|
||||
@apply pb-0;
|
||||
}
|
||||
|
||||
.timeline-time {
|
||||
@apply text-xs text-gray-500 mb-1;
|
||||
}
|
||||
|
||||
.timeline-content {
|
||||
@apply bg-gray-50 p-2 rounded;
|
||||
}
|
||||
|
||||
/* 错误容器样式 */
|
||||
.error-container {
|
||||
@apply p-6;
|
||||
}
|
||||
Reference in New Issue
Block a user