fix(frontend): render flow steps as noninteractive
This commit is contained in:
@@ -14,11 +14,11 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="flow-strip">
|
<section class="flow-strip">
|
||||||
<button v-for="step in flowSteps" :key="step.title" type="button" class="flow-step" :class="{ active: step.active, done: step.done }">
|
<div v-for="step in flowSteps" :key="step.title" class="flow-step" :class="{ active: step.active, done: step.done }">
|
||||||
<span>{{ step.index }}</span>
|
<span>{{ step.index }}</span>
|
||||||
<strong>{{ step.title }}</strong>
|
<strong>{{ step.title }}</strong>
|
||||||
<small>{{ step.desc }}</small>
|
<small>{{ step.desc }}</small>
|
||||||
</button>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="interview-grid">
|
<section class="interview-grid">
|
||||||
|
|||||||
@@ -15,11 +15,11 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="flow-strip">
|
<section class="flow-strip">
|
||||||
<button v-for="step in flowSteps" :key="step.title" type="button" class="flow-step" :class="{ active: step.active, done: step.done }">
|
<div v-for="step in flowSteps" :key="step.title" class="flow-step" :class="{ active: step.active, done: step.done }">
|
||||||
<span>{{ step.index }}</span>
|
<span>{{ step.index }}</span>
|
||||||
<strong>{{ step.title }}</strong>
|
<strong>{{ step.title }}</strong>
|
||||||
<small>{{ step.desc }}</small>
|
<small>{{ step.desc }}</small>
|
||||||
</button>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="practice-grid">
|
<section class="practice-grid">
|
||||||
@@ -174,14 +174,7 @@
|
|||||||
<small>{{ calibrationMessage || (canCalibrate ? '用于 M5 分档一致率样本' : '真实 API 评分后可记录') }}</small>
|
<small>{{ calibrationMessage || (canCalibrate ? '用于 M5 分档一致率样本' : '真实 API 评分后可记录') }}</small>
|
||||||
</div>
|
</div>
|
||||||
<el-input-number v-model="calibrationScore" :min="0" :max="100" :disabled="!canCalibrate" />
|
<el-input-number v-model="calibrationScore" :min="0" :max="100" :disabled="!canCalibrate" />
|
||||||
<el-input
|
<el-input v-model="calibrationReason" type="textarea" :rows="2" resize="none" :disabled="!canCalibrate" placeholder="校准原因" />
|
||||||
v-model="calibrationReason"
|
|
||||||
type="textarea"
|
|
||||||
:rows="2"
|
|
||||||
resize="none"
|
|
||||||
:disabled="!canCalibrate"
|
|
||||||
placeholder="校准原因"
|
|
||||||
/>
|
|
||||||
<div class="action-row">
|
<div class="action-row">
|
||||||
<el-button type="danger" :loading="calibrationSaving" :disabled="!canCalibrate" @click="saveCalibration">记录校准样本</el-button>
|
<el-button type="danger" :loading="calibrationSaving" :disabled="!canCalibrate" @click="saveCalibration">记录校准样本</el-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -492,7 +485,9 @@ const defaultPromptForm = (): PromptTemplateForm => ({
|
|||||||
});
|
});
|
||||||
const promptForm = ref<PromptTemplateForm>(defaultPromptForm());
|
const promptForm = ref<PromptTemplateForm>(defaultPromptForm());
|
||||||
|
|
||||||
const selectedScenario = computed(() => scenarios.value.find((scenario) => scenario.id === scenarioId.value) ?? scenarios.value[0] ?? fallbackScenarios[0]);
|
const selectedScenario = computed(
|
||||||
|
() => scenarios.value.find((scenario) => scenario.id === scenarioId.value) ?? scenarios.value[0] ?? fallbackScenarios[0]
|
||||||
|
);
|
||||||
const promptFormMode = computed(() => (promptForm.value.id ? '编辑模板' : '新增模板'));
|
const promptFormMode = computed(() => (promptForm.value.id ? '编辑模板' : '新增模板'));
|
||||||
const completedRounds = computed(() => conversation.value.filter((turn) => turn.role === 'trainee').length);
|
const completedRounds = computed(() => conversation.value.filter((turn) => turn.role === 'trainee').length);
|
||||||
const canScore = computed(() => finished.value && !scored.value);
|
const canScore = computed(() => finished.value && !scored.value);
|
||||||
|
|||||||
Reference in New Issue
Block a user