feat: add parameter preprocessing audit trail

This commit is contained in:
2026-05-12 13:54:51 +08:00
parent 9ea83be718
commit b9c9f457e9
17 changed files with 2323 additions and 28 deletions
+114 -2
View File
@@ -261,8 +261,8 @@ strong {
}
.taskRecordTable .shTableRow {
grid-template-columns: minmax(190px, 0.9fr) minmax(220px, 1fr) minmax(94px, 0.4fr) minmax(280px, 1.45fr) minmax(104px, 0.42fr) minmax(126px, 0.55fr) minmax(150px, 0.66fr) minmax(154px, 0.62fr) minmax(82px, 0.36fr) minmax(98px, 0.42fr) minmax(150px, 0.66fr) minmax(130px, 0.54fr);
min-width: 1778px;
grid-template-columns: minmax(190px, 0.9fr) minmax(220px, 1fr) minmax(94px, 0.4fr) minmax(280px, 1.45fr) minmax(104px, 0.42fr) minmax(118px, 0.44fr) minmax(126px, 0.55fr) minmax(150px, 0.66fr) minmax(154px, 0.62fr) minmax(82px, 0.36fr) minmax(98px, 0.42fr) minmax(150px, 0.66fr) minmax(130px, 0.54fr);
min-width: 1904px;
align-items: start;
}
@@ -359,6 +359,11 @@ strong {
white-space: normal;
}
.taskRecordParamCell {
overflow: visible;
white-space: normal;
}
.taskRecordAttemptCount {
display: inline-flex;
align-items: center;
@@ -437,6 +442,113 @@ strong {
overflow-wrap: anywhere;
}
.taskParamConversionEmpty {
color: var(--text-soft);
font-size: var(--font-size-xs);
}
.taskParamConversionTrigger {
display: inline-flex;
align-items: center;
gap: 0.35rem;
min-height: 1.5rem;
padding: 0;
border: 0;
background: transparent;
color: var(--text-strong);
cursor: default;
font: inherit;
font-weight: var(--font-weight-medium);
}
.taskParamConversionTrigger svg {
color: var(--primary);
}
.taskParamConversionAntPopover {
z-index: 1200;
}
.taskParamConversionPopover {
display: grid;
width: min(42rem, calc(100vw - 2rem));
max-height: min(34rem, calc(100vh - 7rem));
overflow-y: auto;
gap: 0.65rem;
}
.taskParamConversionPopoverHeader,
.taskParamConversionLogHeader,
.taskParamConversionChangeTop {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 0.5rem;
}
.taskParamConversionPopoverHeader strong,
.taskParamConversionLogHeader strong,
.taskParamConversionChangeTop strong {
min-width: 0;
color: var(--text-strong);
font-weight: var(--font-weight-semibold);
overflow-wrap: anywhere;
}
.taskParamConversionPopoverHeader small,
.taskParamConversionLog small,
.taskParamConversionChange small {
color: var(--text-soft);
font-size: var(--font-size-xs);
line-height: 1.4;
}
.taskParamConversionState {
color: var(--text-soft);
font-size: var(--font-size-sm);
}
.taskParamConversionState.error {
color: var(--destructive);
}
.taskParamConversionLog {
display: grid;
min-width: 0;
gap: 0.5rem;
padding-top: 0.65rem;
border-top: 1px solid var(--border);
}
.taskParamConversionChange {
display: grid;
gap: 0.28rem;
padding: 0.5rem;
border: 1px solid var(--border-subtle);
border-radius: var(--radius-sm);
background: var(--surface-subtle);
color: var(--text-normal);
font-size: var(--font-size-xs);
line-height: 1.45;
overflow-wrap: anywhere;
}
.taskParamConversionChange code,
.taskParamConversionSummaryPaths code {
color: var(--text-soft);
font-family: var(--font-mono);
font-size: var(--font-size-xs);
overflow-wrap: anywhere;
white-space: normal;
}
.taskParamConversionSummaryPaths {
display: flex;
flex-wrap: wrap;
gap: 0.35rem;
}
.taskRecordJsonButton {
width: 100%;
justify-content: flex-start;