| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <template>
- <BasicModal v-bind="$attrs" @@register="registerModal" :width="700" :title="getTitle" @@ok="handleSubmit">
- <BasicForm @@register="registerForm" />
- </BasicModal>
- </template>
- <script lang="ts">
- import { defineComponent, ref, computed, unref } from 'vue';
- import { BasicModal, useModalInner } from '/@@/components/Modal';
- import { BasicForm, useForm } from '/@@/components/Form/index';
- import { formSchema } from './data.data';
- import { add@(@Model.ClassName), update@(@Model.ClassName) } from '/@@/api/main/@(@Model.ClassName)';
- export default defineComponent({
- components: { BasicModal, BasicForm },
- emits: ['success', 'register'],
- setup(_, { emit }) {
- const isUpdate = ref(true);
- const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
- labelWidth: 100,
- schemas: formSchema,
- showActionButtonGroup: false,
- actionColOptions: {
- span: 23,
- },
- });
- const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
- resetFields();
- setModalProps({ confirmLoading: false });
- isUpdate.value = !!data?.isUpdate;
- if (unref(isUpdate)) {
- setFieldsValue({
- ...data.record,
- });
- @foreach (var column in Model.TableField){
- if(@column.EffectType == "Upload"){
- @:if (data.record.@(@column.LowerPropertyName)) {
- @:setFieldsValue({
- @:@(@column.LowerPropertyName): [data.record.@(@column.LowerPropertyName)Attachment],
- @:});
- @:}
- }
- }
- }
- });
- const getTitle = computed(() => (!unref(isUpdate) ? '新增@(@Model.BusName)' : '编辑@(@Model.BusName)'));
- async function handleSubmit() {
- try {
- var values = await validate();
- @foreach (var column in Model.TableField){
- if(@column.EffectType == "Upload"){
- @:if (values.@(@column.LowerPropertyName)) {
- @:values = { ...values, @(@column.LowerPropertyName): values.@(@column.LowerPropertyName)[0].id };
- @:}
- }
- }
- setModalProps({ confirmLoading: true });
- if (!unref(isUpdate)) {
- await add@(@Model.ClassName)(values);
- } else {
- await update@(@Model.ClassName)(values);
- }
- closeModal();
- emit('success');
- } finally {
- setModalProps({ confirmLoading: false });
- }
- }
- return { registerModal, registerForm, getTitle, handleSubmit };
- },
- });
- </script>
|