Abp Vnext 的 Vue3 实现版本
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

65 lines
1.7 KiB

<template>
<BasicModal
:title="t('common.createText')"
:canFullscreen="false"
@ok="submit"
@cancel="cancel"
@register="registerLanguageTextModal"
>
<BasicForm @register="registerLanguageTextForm" />
</BasicModal>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import { BasicModal, useModalInner } from '/@/components/Modal';
import { BasicForm, useForm } from '/@/components/Form/index';
import { createFormSchema, createAsync } from './Index';
import { useI18n } from '/@/hooks/web/useI18n';
export default defineComponent({
name: 'CreateLanguageText',
components: {
BasicModal,
BasicForm,
},
emits: ['reload', 'register'],
setup(_, { emit }) {
const { t } = useI18n();
const [registerLanguageTextForm, { getFieldsValue, resetFields, validate }] = useForm({
labelWidth: 120,
schemas: createFormSchema,
showActionButtonGroup: false,
});
const [registerLanguageTextModal, { changeOkLoading, closeModal }] = useModalInner();
const submit = async () => {
try {
const params = getFieldsValue();
changeOkLoading(true);
await validate();
await createAsync({ params });
await resetFields();
emit('reload');
closeModal();
} finally {
changeOkLoading(false);
}
};
const cancel = () => {
resetFields();
closeModal();
};
return {
registerLanguageTextModal,
registerLanguageTextForm,
submit,
cancel,
t,
};
},
});
</script>
<style lang="less" scoped></style>