|
@@ -7,8 +7,8 @@
|
|
|
label-width="240px"
|
|
|
>
|
|
|
<!-- 是否开启AI智能评卷 -->
|
|
|
- <el-form-item prop="enableAI" label="是否开启AI智能评卷:">
|
|
|
- <el-radio-group v-model="formData.enableAI">
|
|
|
+ <el-form-item prop="enable" label="是否开启AI智能评卷:">
|
|
|
+ <el-radio-group v-model="formData.enable">
|
|
|
<el-radio
|
|
|
v-for="item in OPEN_STATUS"
|
|
|
:key="item.value"
|
|
@@ -35,12 +35,12 @@
|
|
|
|
|
|
<!-- 本地大模型地址 -->
|
|
|
<el-form-item
|
|
|
- v-if="formData.modelType === 'local'"
|
|
|
- prop="modelUrl"
|
|
|
+ v-if="formData.modelType === 'LOCAL'"
|
|
|
+ prop="url"
|
|
|
label="大模型地址:"
|
|
|
>
|
|
|
<el-input
|
|
|
- v-model.trim="formData.modelUrl"
|
|
|
+ v-model.trim="formData.url"
|
|
|
placeholder="请输入大模型地址"
|
|
|
clearable
|
|
|
>
|
|
@@ -49,7 +49,7 @@
|
|
|
|
|
|
<!-- OCR识别地址 -->
|
|
|
<el-form-item
|
|
|
- v-if="formData.modelType === 'local'"
|
|
|
+ v-if="formData.modelType === 'LOCAL'"
|
|
|
prop="ocrUrl"
|
|
|
label="OCR识别地址:"
|
|
|
>
|
|
@@ -74,6 +74,13 @@
|
|
|
import { OPEN_STATUS } from "../../../../constants/enumerate";
|
|
|
import { schoolSetAiInfo, schoolSetAiUpdate } from "../../api";
|
|
|
|
|
|
+const initFormData = {
|
|
|
+ enable: false,
|
|
|
+ modelType: "CLOUD",
|
|
|
+ url: "",
|
|
|
+ ocrUrl: "",
|
|
|
+};
|
|
|
+
|
|
|
export default {
|
|
|
name: "school-set-ai",
|
|
|
props: {
|
|
@@ -89,18 +96,16 @@ export default {
|
|
|
loading: false,
|
|
|
OPEN_STATUS,
|
|
|
MODEL_TYPES: [
|
|
|
- { value: "cloud", label: "云端大模型" },
|
|
|
- { value: "local", label: "本地大模型" },
|
|
|
+ { value: "CLOUD", label: "云端大模型" },
|
|
|
+ { value: "LOCAL", label: "本地大模型" },
|
|
|
],
|
|
|
+ fields: [],
|
|
|
formData: {
|
|
|
- enableAI: false,
|
|
|
- modelType: "cloud",
|
|
|
- modelUrl: "",
|
|
|
- ocrUrl: "",
|
|
|
+ ...initFormData,
|
|
|
},
|
|
|
cachedFormData: null,
|
|
|
rules: {
|
|
|
- enableAI: [
|
|
|
+ enable: [
|
|
|
{
|
|
|
required: true,
|
|
|
message: "请选择是否开启AI智能评卷",
|
|
@@ -114,7 +119,7 @@ export default {
|
|
|
trigger: "change",
|
|
|
},
|
|
|
],
|
|
|
- modelUrl: [
|
|
|
+ url: [
|
|
|
{
|
|
|
required: true,
|
|
|
message: "请输入大模型地址",
|
|
@@ -147,7 +152,10 @@ export default {
|
|
|
async initData() {
|
|
|
const data = await schoolSetAiInfo(this.school.id);
|
|
|
if (data && data.result) {
|
|
|
- this.formData = data.result;
|
|
|
+ this.fields = data.result || [];
|
|
|
+ this.formData = data.result[0].value
|
|
|
+ ? JSON.parse(data.result[0].value)
|
|
|
+ : { ...initFormData };
|
|
|
}
|
|
|
this.cachedFormData = JSON.parse(JSON.stringify(this.formData));
|
|
|
},
|
|
@@ -158,8 +166,8 @@ export default {
|
|
|
);
|
|
|
},
|
|
|
handleModelTypeChange(val) {
|
|
|
- if (val === "cloud") {
|
|
|
- this.formData.modelUrl = "";
|
|
|
+ if (val === "CLOUD") {
|
|
|
+ this.formData.url = "";
|
|
|
this.formData.ocrUrl = "";
|
|
|
}
|
|
|
},
|
|
@@ -170,8 +178,9 @@ export default {
|
|
|
if (this.loading) return;
|
|
|
this.loading = true;
|
|
|
try {
|
|
|
+ this.fields[0].value = JSON.stringify(this.formData);
|
|
|
await schoolSetAiUpdate({
|
|
|
- ...this.formData,
|
|
|
+ param: this.fields,
|
|
|
schoolId: this.school.id,
|
|
|
});
|
|
|
this.cachedFormData = JSON.parse(JSON.stringify(this.formData));
|