优化
This commit is contained in:
@@ -7,11 +7,11 @@
|
||||
label-width="140px"
|
||||
v-loading="formLoading"
|
||||
>
|
||||
<el-form-item label="模型名称" prop="modelName">
|
||||
<el-input v-model="formData.modelName" placeholder="请输入模型名称" />
|
||||
<el-form-item label="服务名称" prop="serviceName">
|
||||
<el-input v-model="formData.serviceName" placeholder="请输入服务名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="模型标识" prop="modelCode">
|
||||
<el-input v-model="formData.modelCode" placeholder="请输入模型标识/编码" />
|
||||
<el-form-item label="服务标识" prop="serviceCode">
|
||||
<el-input v-model="formData.serviceCode" placeholder="请输入服务标识" />
|
||||
</el-form-item>
|
||||
<el-form-item label="所属平台" prop="platform">
|
||||
<el-input v-model="formData.platform" placeholder="请输入所属平台" />
|
||||
@@ -21,17 +21,16 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-radio-group v-model="formData.status">
|
||||
<el-radio value="1">启用</el-radio>
|
||||
<el-radio value="0">禁用</el-radio>
|
||||
<el-radio :value="1">启用</el-radio>
|
||||
<el-radio :value="0">禁用</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="模型类型" prop="modelType">
|
||||
<el-form-item label="服务类型" prop="modelType">
|
||||
<el-radio-group v-model="formData.modelType">
|
||||
<el-radio value="image">图像</el-radio>
|
||||
<el-radio value="text">文本</el-radio>
|
||||
<el-radio value="video">视频</el-radio>
|
||||
<el-radio value="audio">音频</el-radio>
|
||||
<el-radio value="third">第三方</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="消耗积分" prop="consumePoints">
|
||||
@@ -48,10 +47,10 @@
|
||||
</Dialog>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { AiModelConfigApi, AiModelConfig } from '@/api/muye/aimodelconfig'
|
||||
import { AiServiceConfigApi, AiServiceConfig } from '@/api/muye/aiserviceconfig'
|
||||
|
||||
/** AI模型配置 表单 */
|
||||
defineOptions({ name: 'AiModelConfigForm' })
|
||||
/** AI第三方服务配置 表单 */
|
||||
defineOptions({ name: 'AiServiceConfigForm' })
|
||||
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
@@ -62,23 +61,22 @@ const formLoading = ref(false) // 表单的加载中:1)修改时的数据加
|
||||
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
||||
const formData = ref({
|
||||
id: undefined,
|
||||
modelName: undefined,
|
||||
modelCode: undefined,
|
||||
serviceName: undefined,
|
||||
serviceCode: undefined,
|
||||
platform: undefined,
|
||||
apiKey: undefined,
|
||||
status: undefined,
|
||||
status: 1,
|
||||
modelType: undefined,
|
||||
consumePoints: undefined,
|
||||
remark: undefined,
|
||||
})
|
||||
const formRules = reactive({
|
||||
modelName: [{ required: true, message: '模型名称不能为空', trigger: 'blur' }],
|
||||
modelCode: [{ required: true, message: '模型标识/编码不能为空', trigger: 'blur' }],
|
||||
serviceName: [{ required: true, message: '服务名称不能为空', trigger: 'blur' }],
|
||||
serviceCode: [{ required: true, message: '服务标识不能为空', trigger: 'blur' }],
|
||||
platform: [{ required: true, message: '所属平台不能为空', trigger: 'blur' }],
|
||||
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }],
|
||||
modelType: [{ required: true, message: '模型类型不能为空', trigger: 'change' }],
|
||||
modelType: [{ required: true, message: '服务类型不能为空', trigger: 'change' }],
|
||||
consumePoints: [{ required: true, message: '消耗积分不能为空', trigger: 'blur' }],
|
||||
remark: [{ required: true, message: '备注不能为空', trigger: 'blur' }],
|
||||
})
|
||||
const formRef = ref() // 表单 Ref
|
||||
|
||||
@@ -92,7 +90,7 @@ const open = async (type: string, id?: number) => {
|
||||
if (id) {
|
||||
formLoading.value = true
|
||||
try {
|
||||
formData.value = await AiModelConfigApi.getAiModelConfig(id)
|
||||
formData.value = await AiServiceConfigApi.getAiServiceConfig(id)
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
@@ -108,12 +106,12 @@ const submitForm = async () => {
|
||||
// 提交请求
|
||||
formLoading.value = true
|
||||
try {
|
||||
const data = formData.value as unknown as AiModelConfig
|
||||
const data = formData.value as unknown as AiServiceConfig
|
||||
if (formType.value === 'create') {
|
||||
await AiModelConfigApi.createAiModelConfig(data)
|
||||
await AiServiceConfigApi.createAiServiceConfig(data)
|
||||
message.success(t('common.createSuccess'))
|
||||
} else {
|
||||
await AiModelConfigApi.updateAiModelConfig(data)
|
||||
await AiServiceConfigApi.updateAiServiceConfig(data)
|
||||
message.success(t('common.updateSuccess'))
|
||||
}
|
||||
dialogVisible.value = false
|
||||
@@ -128,15 +126,15 @@ const submitForm = async () => {
|
||||
const resetForm = () => {
|
||||
formData.value = {
|
||||
id: undefined,
|
||||
modelName: undefined,
|
||||
modelCode: undefined,
|
||||
serviceName: undefined,
|
||||
serviceCode: undefined,
|
||||
platform: undefined,
|
||||
apiKey: undefined,
|
||||
status: undefined,
|
||||
status: 1,
|
||||
modelType: undefined,
|
||||
consumePoints: undefined,
|
||||
remark: undefined,
|
||||
}
|
||||
formRef.value?.resetFields()
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
@@ -8,19 +8,19 @@
|
||||
:inline="true"
|
||||
label-width="68px"
|
||||
>
|
||||
<el-form-item label="模型名称" prop="modelName">
|
||||
<el-form-item label="服务名称" prop="serviceName">
|
||||
<el-input
|
||||
v-model="queryParams.modelName"
|
||||
placeholder="请输入模型名称"
|
||||
v-model="queryParams.serviceName"
|
||||
placeholder="请输入服务名称"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="模型标识" prop="modelCode">
|
||||
<el-form-item label="服务标识" prop="serviceCode">
|
||||
<el-input
|
||||
v-model="queryParams.modelCode"
|
||||
placeholder="请输入模型标识"
|
||||
v-model="queryParams.serviceCode"
|
||||
placeholder="请输入服务标识"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
@@ -50,10 +50,10 @@
|
||||
<el-option label="启用" value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="模型类型" prop="modelType">
|
||||
<el-form-item label="服务类型" prop="modelType">
|
||||
<el-select
|
||||
v-model="queryParams.modelType"
|
||||
placeholder="请选择模型类型"
|
||||
placeholder="请选择服务类型"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
@@ -70,7 +70,7 @@
|
||||
type="primary"
|
||||
plain
|
||||
@click="openForm('create')"
|
||||
v-hasPermi="['muye:ai-model-config:create']"
|
||||
v-hasPermi="['muye:ai-service-config:create']"
|
||||
>
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||
</el-button>
|
||||
@@ -79,7 +79,7 @@
|
||||
plain
|
||||
@click="handleExport"
|
||||
:loading="exportLoading"
|
||||
v-hasPermi="['muye:ai-model-config:export']"
|
||||
v-hasPermi="['muye:ai-service-config:export']"
|
||||
>
|
||||
<Icon icon="ep:download" class="mr-5px" /> 导出
|
||||
</el-button>
|
||||
@@ -88,7 +88,7 @@
|
||||
plain
|
||||
:disabled="isEmpty(checkedIds)"
|
||||
@click="handleDeleteBatch"
|
||||
v-hasPermi="['muye:ai-model-config:delete']"
|
||||
v-hasPermi="['muye:ai-service-config:delete']"
|
||||
>
|
||||
<Icon icon="ep:delete" class="mr-5px" /> 批量删除
|
||||
</el-button>
|
||||
@@ -107,8 +107,8 @@
|
||||
@selection-change="handleRowCheckboxChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="模型名称" align="center" width="150" prop="modelName" />
|
||||
<el-table-column label="模型标识" align="center" prop="modelCode" />
|
||||
<el-table-column label="服务名称" align="center" width="150" prop="serviceName" />
|
||||
<el-table-column label="服务标识" align="center" prop="serviceCode" />
|
||||
<el-table-column label="所属平台" align="center" prop="platform" />
|
||||
<el-table-column label="API秘钥" align="center" prop="apiKey" />
|
||||
<el-table-column label="状态" align="center" prop="status" >
|
||||
@@ -118,7 +118,7 @@
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="模型类型" align="center" prop="modelType" />
|
||||
<el-table-column label="服务类型" align="center" prop="modelType" />
|
||||
<el-table-column label="消耗积分" align="center" prop="consumePoints" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="操作" align="center" min-width="120px">
|
||||
@@ -127,7 +127,7 @@
|
||||
link
|
||||
type="primary"
|
||||
@click="openForm('update', scope.row.id)"
|
||||
v-hasPermi="['muye:ai-model-config:update']"
|
||||
v-hasPermi="['muye:ai-service-config:update']"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
@@ -135,7 +135,7 @@
|
||||
link
|
||||
type="danger"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
v-hasPermi="['muye:ai-model-config:delete']"
|
||||
v-hasPermi="['muye:ai-service-config:delete']"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
@@ -152,29 +152,29 @@
|
||||
</ContentWrap>
|
||||
|
||||
<!-- 表单弹窗:添加/修改 -->
|
||||
<AiModelConfigForm ref="formRef" @success="getList" />
|
||||
<AiServiceConfigForm ref="formRef" @success="getList" />
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { isEmpty } from '@/utils/is'
|
||||
import download from '@/utils/download'
|
||||
import { AiModelConfigApi, AiModelConfig } from '@/api/muye/aimodelconfig'
|
||||
import AiModelConfigForm from './AiModelConfigForm.vue'
|
||||
import { AiServiceConfigApi, AiServiceConfig } from '@/api/muye/aiserviceconfig'
|
||||
import AiServiceConfigForm from './AiServiceConfigForm.vue'
|
||||
|
||||
/** AI模型配置 列表 */
|
||||
defineOptions({ name: 'AiModelConfig' })
|
||||
/** AI第三方服务配置 列表 */
|
||||
defineOptions({ name: 'AiServiceConfig' })
|
||||
|
||||
const message = useMessage() // 消息弹窗
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
const loading = ref(true) // 列表的加载中
|
||||
const list = ref<AiModelConfig[]>([]) // 列表的数据
|
||||
const list = ref<AiServiceConfig[]>([]) // 列表的数据
|
||||
const total = ref(0) // 列表的总页数
|
||||
const queryParams = reactive({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
modelName: undefined,
|
||||
modelCode: undefined,
|
||||
serviceName: undefined,
|
||||
serviceCode: undefined,
|
||||
platform: undefined,
|
||||
apiKey: undefined,
|
||||
status: undefined,
|
||||
@@ -187,7 +187,7 @@ const exportLoading = ref(false) // 导出的加载中
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
const data = await AiModelConfigApi.getAiModelConfigPage(queryParams)
|
||||
const data = await AiServiceConfigApi.getAiServiceConfigPage(queryParams)
|
||||
list.value = data.list
|
||||
total.value = data.total
|
||||
} finally {
|
||||
@@ -219,19 +219,19 @@ const handleDelete = async (id: number) => {
|
||||
// 删除的二次确认
|
||||
await message.delConfirm()
|
||||
// 发起删除
|
||||
await AiModelConfigApi.deleteAiModelConfig(id)
|
||||
await AiServiceConfigApi.deleteAiServiceConfig(id)
|
||||
message.success(t('common.delSuccess'))
|
||||
// 刷新列表
|
||||
await getList()
|
||||
} catch {}
|
||||
}
|
||||
|
||||
/** 批量删除AI模型配置 */
|
||||
/** 批量删除AI服务配置 */
|
||||
const handleDeleteBatch = async () => {
|
||||
try {
|
||||
// 删除的二次确认
|
||||
await message.delConfirm()
|
||||
await AiModelConfigApi.deleteAiModelConfigList(checkedIds.value);
|
||||
await AiServiceConfigApi.deleteAiServiceConfigList(checkedIds.value);
|
||||
checkedIds.value = [];
|
||||
message.success(t('common.delSuccess'))
|
||||
await getList();
|
||||
@@ -239,7 +239,7 @@ const handleDeleteBatch = async () => {
|
||||
}
|
||||
|
||||
const checkedIds = ref<number[]>([])
|
||||
const handleRowCheckboxChange = (records: AiModelConfig[]) => {
|
||||
const handleRowCheckboxChange = (records: AiServiceConfig[]) => {
|
||||
checkedIds.value = records.map((item) => item.id!);
|
||||
}
|
||||
|
||||
@@ -250,8 +250,8 @@ const handleExport = async () => {
|
||||
await message.exportConfirm()
|
||||
// 发起导出
|
||||
exportLoading.value = true
|
||||
const data = await AiModelConfigApi.exportAiModelConfig(queryParams)
|
||||
download.excel(data, 'AI模型配置.xls')
|
||||
const data = await AiServiceConfigApi.exportAiServiceConfig(queryParams)
|
||||
download.excel(data, 'AI服务配置.xls')
|
||||
} catch {
|
||||
} finally {
|
||||
exportLoading.value = false
|
||||
@@ -262,4 +262,4 @@ const handleExport = async () => {
|
||||
onMounted(() => {
|
||||
getList()
|
||||
})
|
||||
</script>
|
||||
</script>
|
||||
@@ -92,9 +92,9 @@
|
||||
:formatter="dateFormatter"
|
||||
width="180px"
|
||||
/>
|
||||
<el-table-column label="账户总积分" align="center" prop="totalPoints" />
|
||||
<el-table-column label="账户消耗积分" align="center" prop="usedPoints" />
|
||||
<el-table-column label="账户剩余积分" align="center" prop="remainingPoints" />
|
||||
<el-table-column label="总积分" align="center" prop="totalPoints" />
|
||||
<el-table-column label="已消耗积分" align="center" prop="usedPoints" />
|
||||
<el-table-column label="剩余积分" align="center" prop="remainingPoints" />
|
||||
<el-table-column label="云空间总容量" align="center" prop="totalStorage" />
|
||||
<el-table-column label="云空间已用容量" align="center" prop="usedStorage" />
|
||||
<el-table-column label="云空间剩余容量" align="center" prop="remainingStorage" />
|
||||
|
||||
Reference in New Issue
Block a user