feat: 项目管理调整

This commit is contained in:
caiyuchao
2025-06-30 19:03:10 +08:00
parent f0949b211a
commit acd01127d1
6 changed files with 256 additions and 129 deletions

View File

@@ -1,7 +1,7 @@
<script lang="ts" setup>
import type { ProjectApi } from '#/api/license/project';
import { computed, ref } from 'vue';
import { computed } from 'vue';
import { useVbenModal } from '@vben/common-ui';
@@ -10,19 +10,19 @@ import { message } from 'ant-design-vue';
import { useVbenForm } from '#/adapter/form';
import {
createProject,
getMaxSn,
getProject,
updateProject,
} from '#/api/license/project';
import { $t } from '#/locales';
import { useFormSchema } from '../data';
import { formData, useFormSchema } from '../data';
const emit = defineEmits(['success']);
const formData = ref<ProjectApi.Project>();
const getTitle = computed(() => {
return formData.value?.id
? $t('ui.actionTitle.edit', ['项目'])
: $t('ui.actionTitle.create', ['项目']);
? $t('ui.actionTitle.edit', [$t('project.project')])
: $t('ui.actionTitle.create', [$t('project.project')]);
});
const [Form, formApi] = useVbenForm({
@@ -30,12 +30,14 @@ const [Form, formApi] = useVbenForm({
componentProps: {
class: 'w-full',
},
formItemClass: 'col-span-2',
// formItemClass: 'col-span-2',
labelWidth: 80,
},
layout: 'horizontal',
schema: useFormSchema(),
showDefaultActions: false,
// 大屏一行显示3个中屏一行显示2个小屏一行显示1个
wrapperClass: 'grid-cols-1 md:grid-cols-2',
});
const [Modal, modalApi] = useVbenModal({
@@ -78,12 +80,18 @@ const [Modal, modalApi] = useVbenModal({
// 设置到 values
formData.value = data;
await formApi.setValues(formData.value);
// 设置最大SN
const maxSn = await getMaxSn();
if (!formData.value?.code) {
formApi.setFieldValue('code', maxSn);
}
},
});
</script>
<template>
<Modal :title="getTitle">
<Modal :title="getTitle" class="w-[800px]">
<Form class="mx-4" />
</Modal>
</template>