mirror of
				https://github.com/YunaiV/ruoyi-vue-pro.git
				synced 2025-10-31 10:37:41 +08:00 
			
		
		
		
	feat: vben codegen
This commit is contained in:
		| @ -1,49 +1,54 @@ | |||||||
| <template> | <template> | ||||||
|   <BasicModal v-bind="$attrs" @register="registerModal" :title="isUpdate ? '编辑' : '新增'" @ok="handleSubmit"> |   <BasicModal v-bind="$attrs" @register="registerModal" :title="isUpdate ? t('action.edit') : t('action.create')" @ok="handleSubmit"> | ||||||
|     <BasicForm @register="registerForm" /> |     <BasicForm @register="registerForm" /> | ||||||
|   </BasicModal> |   </BasicModal> | ||||||
| </template> | </template> | ||||||
| <script lang="ts" setup name="${table.className}Modal"> | <script lang="ts" setup name="${table.className}Modal"> | ||||||
|   import { ref, unref } from 'vue' | import { ref, unref } from 'vue' | ||||||
|   import { BasicModal, useModalInner } from '@/components/Modal' | import { useI18n } from '@/hooks/web/useI18n' | ||||||
|   import { BasicForm, useForm } from '@/components/Form' | import { useMessage } from '@/hooks/web/useMessage' | ||||||
|   import { formSchema } from './${classNameVar}.data' | import { BasicForm, useForm } from '@/components/Form' | ||||||
|   import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}' | import { BasicModal, useModalInner } from '@/components/Modal' | ||||||
|  | import { formSchema } from './${classNameVar}.data' | ||||||
|  | import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}' | ||||||
|  |  | ||||||
|   const emit = defineEmits(['success', 'register']) | const { t } = useI18n() | ||||||
|   const isUpdate = ref(true) | const { createMessage } = useMessage() | ||||||
|  | const emit = defineEmits(['success', 'register']) | ||||||
|  | const isUpdate = ref(true) | ||||||
|  |  | ||||||
|   const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({ | const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({ | ||||||
|     labelWidth: 120, |   labelWidth: 120, | ||||||
|     baseColProps: { span: 24 }, |   baseColProps: { span: 24 }, | ||||||
|     schemas: formSchema, |   schemas: formSchema, | ||||||
|     showActionButtonGroup: false, |   showActionButtonGroup: false, | ||||||
|     actionColOptions: { span: 23 } |   actionColOptions: { span: 23 } | ||||||
|   }) | }) | ||||||
|  |  | ||||||
|   const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { | const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { | ||||||
|     resetFields() |   resetFields() | ||||||
|     setModalProps({ confirmLoading: false }) |   setModalProps({ confirmLoading: false }) | ||||||
|     isUpdate.value = !!data?.isUpdate |   isUpdate.value = !!data?.isUpdate | ||||||
|     if (unref(isUpdate)) { |   if (unref(isUpdate)) { | ||||||
|       const res = await get${simpleClassName}(data.record.id) |     const res = await get${simpleClassName}(data.record.id) | ||||||
|       setFieldsValue({ ...res }) |     setFieldsValue({ ...res }) | ||||||
|     } |  | ||||||
|   }) |  | ||||||
|  |  | ||||||
|   async function handleSubmit() { |  | ||||||
|     try { |  | ||||||
|       const values = await validate() |  | ||||||
|       setModalProps({ confirmLoading: true }) |  | ||||||
|       if (unref(isUpdate)) { |  | ||||||
|         await update${simpleClassName}(values) |  | ||||||
|       } else { |  | ||||||
|         await create${simpleClassName}(values) |  | ||||||
|       } |  | ||||||
|       closeModal() |  | ||||||
|       emit('success') |  | ||||||
|     } finally { |  | ||||||
|       setModalProps({ confirmLoading: false }) |  | ||||||
|     } |  | ||||||
|   } |   } | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | async function handleSubmit() { | ||||||
|  |   try { | ||||||
|  |     const values = await validate() | ||||||
|  |     setModalProps({ confirmLoading: true }) | ||||||
|  |     if (unref(isUpdate)) { | ||||||
|  |       await update${simpleClassName}(values) | ||||||
|  |     } else { | ||||||
|  |       await create${simpleClassName}(values) | ||||||
|  |     } | ||||||
|  |     closeModal() | ||||||
|  |     emit('success') | ||||||
|  |   } finally { | ||||||
|  |     createMessage.success(t('common.saveSuccessText')) | ||||||
|  |     setModalProps({ confirmLoading: false }) | ||||||
|  |   } | ||||||
|  | } | ||||||
| </script> | </script> | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 xingyu
					xingyu