mirror of
				https://gitee.com/hhyykk/ipms-sjy-ui.git
				synced 2025-11-04 12:18:43 +08:00 
			
		
		
		
	【解决todo】role 角色表单,规则改为 formRules
This commit is contained in:
		@@ -69,6 +69,7 @@ import { getIntDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
 | 
			
		||||
import { ChatRoleApi, ChatRoleVO } from '@/api/ai/model/chatRole'
 | 
			
		||||
import { CommonStatusEnum } from '@/utils/constants'
 | 
			
		||||
import { ChatModelApi, ChatModelVO } from '@/api/ai/model/chatModel'
 | 
			
		||||
import {FormRules} from "element-plus";
 | 
			
		||||
 | 
			
		||||
/** AI 聊天角色 表单 */
 | 
			
		||||
defineOptions({ name: 'ChatRoleForm' })
 | 
			
		||||
@@ -92,7 +93,6 @@ const formData = ref({
 | 
			
		||||
  publicStatus: true,
 | 
			
		||||
  status: CommonStatusEnum.ENABLE
 | 
			
		||||
})
 | 
			
		||||
const formRules = ref() // reactive(formRulesObj)
 | 
			
		||||
const formRef = ref() // 表单 Ref
 | 
			
		||||
const chatModelList = ref([] as ChatModelVO[]) // 聊天模型列表
 | 
			
		||||
 | 
			
		||||
@@ -101,20 +101,15 @@ const isUser = computed(() => {
 | 
			
		||||
  return formType.value === 'my-create' || formType.value === 'my-update'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
// TODO @fan:直接使用 formRules;只要隐藏掉的字段,它是不会校验的哈;
 | 
			
		||||
const getFormRules = async (type: string) => {
 | 
			
		||||
  let formRulesObj = {
 | 
			
		||||
    name: [{ required: true, message: '角色名称不能为空', trigger: 'blur' }],
 | 
			
		||||
    avatar: [{ required: true, message: '角色头像不能为空', trigger: 'blur' }],
 | 
			
		||||
    category: [{ required: true, message: '角色类别不能为空', trigger: 'blur' }],
 | 
			
		||||
    sort: [{ required: true, message: '角色排序不能为空', trigger: 'blur' }],
 | 
			
		||||
    description: [{ required: true, message: '角色描述不能为空', trigger: 'blur' }],
 | 
			
		||||
    systemMessage: [{ required: true, message: '角色设定不能为空', trigger: 'blur' }],
 | 
			
		||||
    publicStatus: [{ required: true, message: '是否公开不能为空', trigger: 'blur' }]
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  formRules.value = reactive(formRulesObj)
 | 
			
		||||
}
 | 
			
		||||
const formRules = reactive<FormRules>({
 | 
			
		||||
  name: [{ required: true, message: '角色名称不能为空', trigger: 'blur' }],
 | 
			
		||||
  avatar: [{ required: true, message: '角色头像不能为空', trigger: 'blur' }],
 | 
			
		||||
  category: [{ required: true, message: '角色类别不能为空', trigger: 'blur' }],
 | 
			
		||||
  sort: [{ required: true, message: '角色排序不能为空', trigger: 'blur' }],
 | 
			
		||||
  description: [{ required: true, message: '角色描述不能为空', trigger: 'blur' }],
 | 
			
		||||
  systemMessage: [{ required: true, message: '角色设定不能为空', trigger: 'blur' }],
 | 
			
		||||
  publicStatus: [{ required: true, message: '是否公开不能为空', trigger: 'blur' }]
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
/** 打开弹窗 */
 | 
			
		||||
// TODO @fan:title 是不是收敛到 type 判断生成 title,会更合理
 | 
			
		||||
@@ -122,7 +117,6 @@ const open = async (type: string, id?: number, title?: string) => {
 | 
			
		||||
  dialogVisible.value = true
 | 
			
		||||
  dialogTitle.value = title || t('action.' + type)
 | 
			
		||||
  formType.value = type
 | 
			
		||||
  getFormRules(type)
 | 
			
		||||
  resetForm()
 | 
			
		||||
  // 修改时,设置数据
 | 
			
		||||
  if (id) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user