|
|
@@ -3,6 +3,7 @@ import { ElDialog, ElForm, ElFormItem, ElInput, ElDatePicker, ElButton, ElMessag
|
|
|
import type { FormInstance, FormRules } from 'element-plus'
|
|
|
import FaImageUpload from '@/ui/components/FaImageUpload/index.vue'
|
|
|
import VoiceSelector from '@/components/VoiceSelector.vue'
|
|
|
+import LangSelector from '@/components/LangSelector.vue'
|
|
|
import { saveRole } from '@/api/modules/anycallService'
|
|
|
import type { TRole } from '@/api/modules/anycallService'
|
|
|
// 定义表单数据类型
|
|
|
@@ -15,8 +16,9 @@ type IFormData = {
|
|
|
gender: number
|
|
|
description: string
|
|
|
clonedVoice: boolean
|
|
|
- voiceId: string
|
|
|
+ voice: string
|
|
|
voiceName: string
|
|
|
+ nationality?: string
|
|
|
}
|
|
|
|
|
|
// 定义组件的属性
|
|
|
@@ -70,7 +72,7 @@ const formData = ref<Partial<IFormData>>({
|
|
|
language: '',
|
|
|
description: '',
|
|
|
gender: 1,
|
|
|
- voiceId: '',
|
|
|
+ voice: '',
|
|
|
voiceName: '',
|
|
|
});
|
|
|
|
|
|
@@ -123,6 +125,9 @@ function resetForm() {
|
|
|
description: '',
|
|
|
language: '',
|
|
|
gender: 1,
|
|
|
+ voice: '',
|
|
|
+ voiceName: '',
|
|
|
+ nationality: ''
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -142,10 +147,13 @@ async function handleConfirm() {
|
|
|
language: "US",
|
|
|
name: "",
|
|
|
prompt: "",
|
|
|
+ voice: '',
|
|
|
voiceFileName: "",
|
|
|
voiceId: "",
|
|
|
}
|
|
|
const avatar = formData.value.avatar?.[0] ?? ''
|
|
|
+ // 字段全后再对齐字段
|
|
|
+ //@ts-ignore
|
|
|
const d: TRole = { ...defaultData, ...formData.value, avatar , photo: avatar }
|
|
|
console.log(d)
|
|
|
const { code } = await saveRole(d)
|
|
|
@@ -213,7 +221,7 @@ const handleRemoveAgent = ()=> {
|
|
|
<LLMSelector v-model="formData.voiceId" />
|
|
|
</ElFormItem> -->
|
|
|
|
|
|
- <ElFormItem label="use voice" prop="voiceName" label-width="120">
|
|
|
+ <ElFormItem label="use voice" prop="voice" label-width="120">
|
|
|
<VoiceSelector :gender="formData.gender ?? 1" v-model="formData.voice" v-model:voice-name="formData.voiceName" />
|
|
|
</ElFormItem>
|
|
|
|
|
|
@@ -230,6 +238,10 @@ const handleRemoveAgent = ()=> {
|
|
|
<ElButton v-if="mode === 'create'" type="primary" @click="dialogCardSelectorVisible = true">选择大模型</ElButton>
|
|
|
</ElSpace>
|
|
|
</ElFormItem> -->
|
|
|
+ <ElFormItem label="国籍" prop="nationality">
|
|
|
+ <LangSelector v-model="formData.nationality" placeholder="请选择国籍"></LangSelector>
|
|
|
+ </ElFormItem>
|
|
|
+
|
|
|
<ElFormItem label="语言" prop="language">
|
|
|
<ElSelect v-model="formData.language" placeholder="请选择语言">
|
|
|
<ElOption label="英语" value="en" />
|