feat: 表单编辑器magic-api调用不会弹框,而是以图标闪烁的形式显示

This commit is contained in:
gaoyunqi
2024-03-27 16:42:01 +08:00
parent 46b36b1c92
commit f4adcd3dff
8 changed files with 114 additions and 7 deletions

View File

@ -13,6 +13,7 @@
<a-step :title="t('表单事件')" />
</a-steps>
<div class="btn-box">
<ajax-error-icon />
<a-button type="primary" @click="handleStepPrev" v-show="current !== 0">{{
t('上一步')
}}</a-button>
@ -34,12 +35,13 @@
</BasicModal>
</template>
<script lang="ts" setup>
import { ref, reactive, provide, watch, Ref, toRaw } from 'vue';
import { ref, reactive, provide, watch, Ref, toRaw, onUnmounted } from 'vue';
import BasicConfigStep from '../BasicConfigStep.vue';
import { FormDesignStep, FormEventStep } from '/@/components/CreateCodeStep';
import { BasicModal, useModalInner } from '/@/components/Modal';
import { CustomFormConfig, GeneratorConfig } from '/@/model/generator/generatorConfig';
import { TableInfo } from '/@/components/Designer';
import AjaxErrorIcon from '/@/components/SecondDev/AjaxErrorIcon.vue';
import {
addDataFirstFormTemplate,
updateDataFirstFormTemplate,
@ -49,6 +51,8 @@
import * as antd from '/@/components/Designer/src/types';
import { useI18n } from '/@/hooks/web/useI18n';
import DesignLogo from '/@/components/ModalPanel/src/DesignLogo.vue';
import useGlobalFlag from '/@/hooks/core/useGlobalFlag';
const { t } = useI18n();
const current = ref(0);
@ -61,6 +65,16 @@
const isUpdate = ref<boolean>(false);
const formId = ref<string>('');
const emits = defineEmits(['success', 'register', 'close']);
const globalFlag = useGlobalFlag();
const { isEditorOpen } = globalFlag;
watch(current, () => {
isEditorOpen.value = current.value === 1;
});
onUnmounted(() => {
isEditorOpen.value = false;
});
let generatorConfig = reactive<GeneratorConfig>({
databaseId: '', //数据库id

View File

@ -17,6 +17,7 @@
<a-step :title="t('菜单设置')" />
</a-steps>
<div class="btn-box">
<ajax-error-icon />
<a-button @click="handleStepPrev" v-show="current !== 0">{{ t('上一步') }}</a-button>
<a-button type="primary" @click="handleSaveDraft" v-show="current > 3">{{
t('保存草稿')
@ -47,7 +48,7 @@
</BasicModal>
</template>
<script lang="ts" setup>
import { ref, reactive, provide, Ref, defineAsyncComponent } from 'vue';
import { ref, reactive, provide, Ref, defineAsyncComponent, watch, onUnmounted } from 'vue';
import { BasicModal, useModalInner } from '/@/components/Modal';
import { GeneratorConfig } from '/@/model/generator/generatorConfig';
import { TableInfo, noHaveTableAndField } from '/@/components/Designer';
@ -70,6 +71,8 @@
import { MenuConfig } from '/@/model/generator/menuConfig';
import { FormJson } from '/@/model/generator/codeGenerator';
import DesignLogo from '/@/components/ModalPanel/src/DesignLogo.vue';
import AjaxErrorIcon from '/@/components/SecondDev/AjaxErrorIcon.vue';
import useGlobalFlag from '/@/hooks/core/useGlobalFlag';
const { t } = useI18n();
const StructureConfigStep = defineAsyncComponent({
loader: () => import('/@/components/CreateCodeStep/src/StructureConfigStep.vue'),
@ -96,6 +99,8 @@
loadingComponent: LoadingBox,
});
const globalFlag = useGlobalFlag();
const { isEditorOpen } = globalFlag;
const userStore = useUserStore();
const templateId = ref();
const current = ref(0);
@ -110,6 +115,14 @@
const mainTableName = ref('table_' + random(10000, 99999));
const emit = defineEmits(['close', 'register', 'success']);
watch(current, () => {
isEditorOpen.value = current.value === 0;
});
onUnmounted(() => {
isEditorOpen.value = false;
});
const tableInfo = ref<TableInfo[]>([]);
let generatorConfig = reactive<GeneratorConfig>({
databaseId: '', //数据库id

View File

@ -16,6 +16,7 @@
<a-step :title="t('菜单设置')" />
</a-steps>
<div class="btn-box">
<ajax-error-icon />
<a-button @click="handleStepPrev" v-show="current !== 0">{{ t('上一步') }}</a-button>
<a-button type="primary" @click="handleSaveDraft" v-show="current > 3">{{
t('保存草稿')
@ -41,7 +42,7 @@
</BasicModal>
</template>
<script lang="ts" setup>
import { ref, reactive, provide, Ref, defineAsyncComponent } from 'vue';
import { ref, reactive, provide, Ref, defineAsyncComponent, watch, onUnmounted } from 'vue';
import { BasicModal, useModalInner } from '/@/components/Modal';
import { GeneratorConfig } from '/@/model/generator/generatorConfig';
import { TableInfo } from '/@/components/Designer';
@ -63,6 +64,8 @@
import * as antd from '/@/components/Designer/src/types';
import { useI18n } from '/@/hooks/web/useI18n';
import DesignLogo from '/@/components/ModalPanel/src/DesignLogo.vue';
import useGlobalFlag from '/@/hooks/core/useGlobalFlag';
import AjaxErrorIcon from '/@/components/SecondDev/AjaxErrorIcon.vue';
const { t } = useI18n();
const TableConfigStep = defineAsyncComponent({
@ -91,6 +94,8 @@
});
const userStore = useUserStore();
const globalFlag = useGlobalFlag();
const { isEditorOpen } = globalFlag;
const templateId = ref();
const current = ref(0);
const isUpdate = ref(false);
@ -103,6 +108,14 @@
const widgetForm = ref(JSON.parse(JSON.stringify(antd.widgetForm))); //FormDesignStep -> designer和StructureConfigStep页面使用
const tableInfo = ref<TableInfo[]>([]);
watch(current, () => {
isEditorOpen.value = current.value === 1;
});
onUnmounted(() => {
isEditorOpen.value = false;
});
const emit = defineEmits(['close', 'register', 'success']);
let generatorConfig = reactive<GeneratorConfig>({
databaseId: null, //数据库id