src/api/ai/questiontemplate/index.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/ai/model/template/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/ai/model/template/templateForm.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/ai/questiontemplate/index.ts
@@ -13,6 +13,7 @@ createDate: Date // 创建时间 updator: number // 更新者 updateDate: Date // 更新时间 settingList:[]//配置列表 } // 大模型问题模板 API src/views/ai/model/template/index.vue
@@ -8,23 +8,36 @@ :inline="true" label-width="68px" > <el-form-item label="模型编号" prop="modelCode"> <el-form-item label="问题编号" prop="questionCode"> <el-input v-model="queryParams.modelCode" placeholder="请输入模型编号" v-model="queryParams.questionCode" placeholder="请输入问题编号" clearable @keyup.enter="handleQuery" class="!w-240px" /> </el-form-item> <el-form-item label="模型名称" prop="modelName"> <el-form-item label="问题名称" prop="questionName"> <el-input v-model="queryParams.modelName" placeholder="请输入模型名称" v-model="queryParams.questionName" placeholder="请输入问题名称" clearable @keyup.enter="handleQuery" class="!w-240px" /> </el-form-item> <el-form-item label="模型名称" prop="modelId"> <el-select v-model="queryParams.modelId" clearable filterable :fit-input-width="false" placeholder="请选择模型"> <el-option v-for="item in scheduleModelList" :key="item.id" :label="item.modelName" :value="item.id" /> </el-select> </el-form-item> <el-form-item> <el-button @click="handleQuery"> @@ -51,13 +64,16 @@ <!-- 列表 --> <ContentWrap> <el-table v-loading="loading" :data="list"> <el-table-column label="模型id" align="center" prop="modelId" min-width="100"/> <el-table-column label="问题编号" header-align="center" align="left" prop="questionCode" min-width="100"/> <el-table-column label="问题内容" align="center" prop="questionName" min-width="100"/> <el-table-column label="问题名称" header-align="center" align="left" prop="questionContent" min-width="200"/> <el-table-column label="输入个数" align="center" prop="isEnable" min-width="100"/> <el-table-column label="是否启用" align="center" prop="portLength" min-width="100"/> <el-table-column label="备注" header-align="center" align="left" prop="remark" min-width="200" /> <el-table-column label="模型名称" align="center" prop="modelName" min-width="100"/> <el-table-column label="问题编号" align="center" prop="questionCode" min-width="100"/> <el-table-column label="问题名称" align="center" prop="questionName" min-width="100"/> <el-table-column label="输入个数" align="center" prop="dataLength" min-width="100"/> <el-table-column label="是否启用" align="center" prop="isEnable" min-width="100"> <template #default="scope"> <dict-tag :type="DICT_TYPE.COM_IS_INT" :value="scope.row.isEnable"/> </template> </el-table-column> <el-table-column label="备注" align="center" prop="remark" min-width="200"/> <el-table-column label="操作" align="center" min-width="100" fixed="right"> <template #default="scope"> <el-button @@ -98,6 +114,8 @@ import download from '@/utils/download' import * as AiQuestionTemplateApi from '@/api/ai/questiontemplate' import TemplateForm from './templateForm.vue' import * as AiModelApi from "@/api/ai/model/model"; import * as ScheduleModelApi from "@/api/model/sche/model"; defineOptions({name: 'AiTemplate'}) @@ -110,16 +128,18 @@ const queryParams = reactive({ pageNo: 1, pageSize: 10, modelCode: undefined, modelName: undefined questionCode: undefined, questionName: undefined, modelId: undefined, }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 /** 查询列表 */ const getList = async () => { loading.value = true try { const scheduleModelList = ref([] as ScheduleModelApi.ScheduleModelVO[]) scheduleModelList.value = await ScheduleModelApi.getScheduleModelList() const page = await AiQuestionTemplateApi.QuestionTemplateApi.getQuestionTemplatePage(queryParams) list.value = page.list total.value = page.total src/views/ai/model/template/templateForm.vue
@@ -26,9 +26,47 @@ <el-input v-model="formData.dataLength" placeholder="请输入输入个数"/> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="模型名称" prop="modelId"> <el-select v-model="formData.modelId" clearable filterable :fit-input-width="false" placeholder="请选择模型"> <el-option v-for="item in aiModelList" :key="item.id" :label="item.modelName" :value="item.id" /> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="是否启用" prop="isEnable"> <el-select v-model="formData.isEnable" clearable placeholder="请选择是否启用" > <el-option v-for="dict in getIntDictOptions(DICT_TYPE.COM_IS_INT)" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="备注" prop="remark"> <el-input v-model="formData.remark" placeholder="请输入备注"/> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="20"> <el-form-item label="问题内容" prop="questionContent"> <el-input type="textarea" @@ -105,11 +143,12 @@ </template> <script lang="ts" setup> import { DICT_TYPE, getStrDictOptions } from '@/utils/dict' import {DICT_TYPE, getIntDictOptions} from '@/utils/dict' import * as AiQuestionTemplateApi from '@/api/ai/questiontemplate' import { CommonStatusEnum } from '@/utils/constants' import { ElMessage } from 'element-plus' import * as AiModelApi from "@/api/ai/model/model"; const aiModelList = ref([] as AiModelApi.ModelVO[]) defineOptions({ name: 'AiTemplateForm' }) const { t } = useI18n() @@ -120,10 +159,12 @@ const formType = ref('') const formData = ref({ id: undefined, modelId: undefined, questionCode: undefined, questionName: undefined, dataLength: undefined, questionContent: undefined, isEnable: 1, settingList: [{ settingKey: '', settingName: '', @@ -131,6 +172,7 @@ }] }) const formRules = reactive({ modelId: [{required: true, message: '模型名称不能为空', trigger: 'blur'}], questionCode: [{ required: true, message: '问题编号不能为空', trigger: 'blur' }], questionName: [{ required: true, message: '问题名称不能为空', trigger: 'blur' }], dataLength: [{ required: true, message: '输入个数不能为空', trigger: 'blur' }], @@ -159,6 +201,8 @@ dialogTitle.value = t('action.' + type) formType.value = type resetForm() // 加载调度模型列表 aiModelList.value = await AiModelApi.ModelApi.getModelSimpleList(1) if (id) { formLoading.value = true try { @@ -179,6 +223,13 @@ formLoading.value = true try { const data = formData.value if (data.settingList == [{ settingKey: '', settingName: '', settingValue: '', }]) { data.settingList = null } if (formType.value === 'create') { await AiQuestionTemplateApi.QuestionTemplateApi.createQuestionTemplate(data) message.success(t('common.createSuccess')) @@ -196,10 +247,12 @@ const resetForm = () => { formData.value = { id: undefined, modelId: undefined, questionCode: undefined, questionName: undefined, dataLength: undefined, questionContent: undefined, isEnable: 1, settingList: [{ settingKey: '', settingName: '',