diff --git a/src/views/generator/dev/components/CodeFirstModal.vue b/src/views/generator/dev/components/CodeFirstModal.vue
index 34d7603..b2816b5 100644
--- a/src/views/generator/dev/components/CodeFirstModal.vue
+++ b/src/views/generator/dev/components/CodeFirstModal.vue
@@ -25,9 +25,21 @@
{{ t('下一步') }}
-
- {{ t('完成') }}
-
+
+
+ {{ t('完成') }}
+
+
+
+
+ 打包下载
+
+
+ 生成到项目中
+
+
+
+
{{ t('关闭') }}
@@ -57,6 +69,7 @@
getCodeTemplateInfo,
saveDraftGeneratorCode,
updateDraftGeneratorCode,
+ downloadCodes,
} from '/@/api/system/generator';
import { FormProps } from '/@/components/Form';
import { buildOption } from '/@/utils/helper/designHelper';
@@ -73,6 +86,9 @@
import DesignLogo from '/@/components/ModalPanel/src/DesignLogo.vue';
import AjaxErrorIcon from '/@/components/SecondDev/AjaxErrorIcon.vue';
import useGlobalFlag from '/@/hooks/core/useGlobalFlag';
+ import { downloadByData } from '/@/utils/file/download';
+ import { dateUtil } from '/@/utils/dateUtil';
+
const { t } = useI18n();
const StructureConfigStep = defineAsyncComponent({
loader: () => import('/@/components/CreateCodeStep/src/StructureConfigStep.vue'),
@@ -114,7 +130,6 @@
const widgetForm = ref(JSON.parse(JSON.stringify(antd.widgetForm))); //FormDesignStep -> designer和StructureConfigStep页面使用
const mainTableName = ref('table_' + random(10000, 99999));
const emit = defineEmits(['close', 'register', 'success']);
-
watch(current, () => {
isEditorOpen.value = current.value === 0;
});
@@ -245,7 +260,7 @@
handleClose();
emit('success');
}
- async function handleCodeGenerator() {
+ async function handleCodeGenerator(actionType:String) {
const isOk = await stepValidate[5]();
if (
generatorConfig.formJson?.hiddenComponent &&
@@ -268,9 +283,16 @@
// await appGeneratorCode(
// buildAppCode(generatorConfig, buildAppFormProps(generatorConfig.formJson)),
// );
-
- await codeFirstGeneratorCode(data);
-
+ data.actionType=actionType;
+ const result =await codeFirstGeneratorCode(data);
+ if(data.actionType=="packAndDownload"&&result){
+ const fileName=data.outputConfig.className+'_'+dateUtil(new Date()).format('YYYY-MM-DD_HH_mm_ss');
+ const res = await downloadCodes({uuid:result});
+ downloadByData(
+ res.data,
+ fileName+".zip"
+ );
+ }
handleClose();
emit('success');
}
diff --git a/src/views/generator/dev/components/SimpleTemplateModal.vue b/src/views/generator/dev/components/SimpleTemplateModal.vue
index 6b74f16..1fb4859 100644
--- a/src/views/generator/dev/components/SimpleTemplateModal.vue
+++ b/src/views/generator/dev/components/SimpleTemplateModal.vue
@@ -24,9 +24,21 @@
{{ t('下一步') }}
-
- {{ t('完成') }}
-
+
+
+ {{ t('完成') }}
+
+
+
+
+ 打包下载
+
+
+ 生成到项目中
+
+
+
+
{{ t('关闭') }}
@@ -57,6 +69,7 @@
saveDraftGeneratorCode,
updateDraftGeneratorCode,
getMasterInfo,
+ downloadCodes,
} from '/@/api/system/generator';
import { FormProps } from '/@/components/Form';
import { buildOption } from '/@/utils/helper/designHelper';
@@ -71,6 +84,8 @@
import { MenuConfig } from '/@/model/generator/menuConfig';
import { FormEventColumnConfig } from '/@/model/generator/formEventConfig';
import DesignLogo from '/@/components/ModalPanel/src/DesignLogo.vue';
+ import { downloadByData } from '/@/utils/file/download';
+ import { dateUtil } from '/@/utils/dateUtil';
const { t } = useI18n();
const StructureConfigStep = defineAsyncComponent({
@@ -244,7 +259,7 @@
handleClose();
emit('success');
}
- async function handleCodeGenerator() {
+ async function handleCodeGenerator(actionType:String) {
const isOk = await stepValidate[5]();
if (
generatorConfig.formJson?.hiddenComponent &&
@@ -263,7 +278,16 @@
buildOption(generatorConfig.formJson) as FormProps,
);
if (templateId.value) data.id = templateId.value;
- await codeFirstGeneratorCode(data);
+ data.actionType=actionType;
+ const result =await codeFirstGeneratorCode(data);
+ if(data.actionType=="packAndDownload"&&result){
+ const fileName=data.outputConfig.className+'_'+dateUtil(new Date()).format('YYYY-MM-DD_HH_mm_ss');
+ const res = await downloadCodes({uuid:result});
+ downloadByData(
+ res.data,
+ fileName+".zip"
+ );
+ }
handleClose();
emit('success');
}