|
|
@@ -33,6 +33,25 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
|
|
|
+ <el-form-item label="Omni 分析">
|
|
|
+ <div class="omni-switch-row">
|
|
|
+ <el-switch
|
|
|
+ v-model="form.useOmniAnalysis"
|
|
|
+ inline-prompt
|
|
|
+ active-text="开启"
|
|
|
+ inactive-text="关闭"
|
|
|
+ />
|
|
|
+ <div class="omni-switch-copy">
|
|
|
+ <div class="omni-switch-copy__title">
|
|
|
+ {{ form.useOmniAnalysis ? "ASR -> Omni -> qwen3.7-plus" : "ASR -> qwen3.7-plus" }}
|
|
|
+ </div>
|
|
|
+ <div class="omni-switch-copy__desc">
|
|
|
+ 开启后会先用 Omni 做视频多模态分析,再把分析结果和 ASR 转写一起交给 qwen3.7-plus 生成脚本。
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
<el-form-item label="用户要求">
|
|
|
<el-input
|
|
|
v-model="form.promptHint"
|
|
|
@@ -100,6 +119,7 @@ const form = reactive({
|
|
|
transcript: "",
|
|
|
scriptContent: "",
|
|
|
summary: "",
|
|
|
+ useOmniAnalysis: false,
|
|
|
});
|
|
|
|
|
|
const parseVideoUrls = () =>
|
|
|
@@ -133,10 +153,11 @@ const handleSave = async () => {
|
|
|
codedeskTaskId: form.codedeskTaskId?.trim(),
|
|
|
promptHint: form.promptHint?.trim(),
|
|
|
analysisContent: form.analysisContent?.trim(),
|
|
|
+ useOmniAnalysis: Boolean(form.useOmniAnalysis),
|
|
|
videoUrl: videoUrls[0],
|
|
|
videoUrls,
|
|
|
});
|
|
|
- ElMessage.success(isEdit.value ? "任务已更新" : "任务已创建");
|
|
|
+ ElMessage.success(isEdit.value ? "任务已更新,任务将重新进入处理队列" : "任务已创建");
|
|
|
router.push("/tasks");
|
|
|
};
|
|
|
|
|
|
@@ -188,6 +209,31 @@ onMounted(loadDetail);
|
|
|
max-width: 1120px;
|
|
|
}
|
|
|
|
|
|
+.omni-switch-row {
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-start;
|
|
|
+ gap: 16px;
|
|
|
+ width: 100%;
|
|
|
+ padding: 6px 0;
|
|
|
+}
|
|
|
+
|
|
|
+.omni-switch-copy {
|
|
|
+ display: grid;
|
|
|
+ gap: 4px;
|
|
|
+ line-height: 1.5;
|
|
|
+}
|
|
|
+
|
|
|
+.omni-switch-copy__title {
|
|
|
+ color: #0f172a;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 700;
|
|
|
+}
|
|
|
+
|
|
|
+.omni-switch-copy__desc {
|
|
|
+ color: #64748b;
|
|
|
+ font-size: 13px;
|
|
|
+}
|
|
|
+
|
|
|
.prompt-example {
|
|
|
margin-top: 12px;
|
|
|
padding: 14px 16px;
|
|
|
@@ -218,6 +264,11 @@ onMounted(loadDetail);
|
|
|
}
|
|
|
|
|
|
@media (max-width: 900px) {
|
|
|
+ .omni-switch-row {
|
|
|
+ flex-direction: column;
|
|
|
+ gap: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
.task-form-footer {
|
|
|
flex-direction: column-reverse;
|
|
|
}
|