Commit f8e54dda30dd28d8994bc80f15969d3d9b3f4068

Authored by xingyu
1 parent 81b8f417

feat: vben codegen

yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
1 1 <template>
2   - <BasicModal v-bind="$attrs" @register="registerModal" :title="isUpdate ? '编辑' : '新增'" @ok="handleSubmit">
  2 + <BasicModal v-bind="$attrs" @register="registerModal" :title="isUpdate ? t('action.edit') : t('action.create')" @ok="handleSubmit">
3 3 <BasicForm @register="registerForm" />
4 4 </BasicModal>
5 5 </template>
6 6 <script lang="ts" setup name="${table.className}Modal">
7   - import { ref, unref } from 'vue'
8   - import { BasicModal, useModalInner } from '@/components/Modal'
9   - import { BasicForm, useForm } from '@/components/Form'
10   - import { formSchema } from './${classNameVar}.data'
11   - import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}'
  7 +import { ref, unref } from 'vue'
  8 +import { useI18n } from '@/hooks/web/useI18n'
  9 +import { useMessage } from '@/hooks/web/useMessage'
  10 +import { BasicForm, useForm } from '@/components/Form'
  11 +import { BasicModal, useModalInner } from '@/components/Modal'
  12 +import { formSchema } from './${classNameVar}.data'
  13 +import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}'
12 14  
13   - const emit = defineEmits(['success', 'register'])
14   - const isUpdate = ref(true)
  15 +const { t } = useI18n()
  16 +const { createMessage } = useMessage()
  17 +const emit = defineEmits(['success', 'register'])
  18 +const isUpdate = ref(true)
15 19  
16   - const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
17   - labelWidth: 120,
18   - baseColProps: { span: 24 },
19   - schemas: formSchema,
20   - showActionButtonGroup: false,
21   - actionColOptions: { span: 23 }
22   - })
  20 +const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
  21 + labelWidth: 120,
  22 + baseColProps: { span: 24 },
  23 + schemas: formSchema,
  24 + showActionButtonGroup: false,
  25 + actionColOptions: { span: 23 }
  26 +})
23 27  
24   - const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
25   - resetFields()
26   - setModalProps({ confirmLoading: false })
27   - isUpdate.value = !!data?.isUpdate
28   - if (unref(isUpdate)) {
29   - const res = await get${simpleClassName}(data.record.id)
30   - setFieldsValue({ ...res })
31   - }
32   - })
  28 +const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
  29 + resetFields()
  30 + setModalProps({ confirmLoading: false })
  31 + isUpdate.value = !!data?.isUpdate
  32 + if (unref(isUpdate)) {
  33 + const res = await get${simpleClassName}(data.record.id)
  34 + setFieldsValue({ ...res })
  35 + }
  36 +})
33 37  
34   - async function handleSubmit() {
35   - try {
36   - const values = await validate()
37   - setModalProps({ confirmLoading: true })
38   - if (unref(isUpdate)) {
39   - await update${simpleClassName}(values)
40   - } else {
41   - await create${simpleClassName}(values)
42   - }
43   - closeModal()
44   - emit('success')
45   - } finally {
46   - setModalProps({ confirmLoading: false })
  38 +async function handleSubmit() {
  39 + try {
  40 + const values = await validate()
  41 + setModalProps({ confirmLoading: true })
  42 + if (unref(isUpdate)) {
  43 + await update${simpleClassName}(values)
  44 + } else {
  45 + await create${simpleClassName}(values)
47 46 }
  47 + closeModal()
  48 + emit('success')
  49 + } finally {
  50 + createMessage.success(t('common.saveSuccessText'))
  51 + setModalProps({ confirmLoading: false })
48 52 }
  53 +}
49 54 </script>
... ...