form目录迁移到core/pagetype目录里
This commit is contained in:
parent
008ceab0b5
commit
a7fb6e9fe7
@ -261,25 +261,25 @@
|
||||
import { onMounted, onUnmounted, ref, shallowRef, markRaw, computed, watch } from 'vue'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { NButton, NSpace, NIcon, useMessage, useDialog, NLayout, NLayoutSider, NLayoutContent } from 'naive-ui'
|
||||
import FieldRenderer from '@/core/components/form/FieldRenderer.vue'
|
||||
import FieldRenderer from '@/core/pagetype/form/FieldRenderer.vue'
|
||||
import { Icon } from '@iconify/vue'
|
||||
import { resolveSidebarPanel } from '@/core/registry/sidebarOverride'
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
const FormPanel = defineAsyncComponent(async () => {
|
||||
const mod = await resolveSidebarPanel(entity.value, 'FormPanel.vue')
|
||||
return mod || (await import('@/core/components/form/panel/FormPanel.vue'))
|
||||
return mod || (await import('@/core/pagetype/form/panel/FormPanel.vue'))
|
||||
})
|
||||
const ImageSection = defineAsyncComponent(async () => {
|
||||
const mod = await resolveSidebarPanel(entity.value, 'ImageSection.vue')
|
||||
return mod || (await import('@/core/components/form/panel/ImageSection.vue'))
|
||||
return mod || (await import('@/core/pagetype/form/panel/ImageSection.vue'))
|
||||
})
|
||||
const AttachmentSection = defineAsyncComponent(async () => {
|
||||
const mod = await resolveSidebarPanel(entity.value, 'AttachmentSection.vue')
|
||||
return mod || (await import('@/core/components/form/panel/AttachmentSection.vue'))
|
||||
return mod || (await import('@/core/pagetype/form/panel/AttachmentSection.vue'))
|
||||
})
|
||||
const TagSection = defineAsyncComponent(async () => {
|
||||
const mod = await resolveSidebarPanel(entity.value, 'TagSection.vue')
|
||||
return mod || (await import('@/core/components/form/panel/TagSection.vue'))
|
||||
return mod || (await import('@/core/pagetype/form/panel/TagSection.vue'))
|
||||
})
|
||||
import axios from 'axios'
|
||||
import { t } from '@/shared/i18n'
|
||||
|
||||
@ -416,7 +416,7 @@
|
||||
import { onMounted, ref, computed, watch } from 'vue'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { NButton, NSpace, NIcon, NProgress, NInput, NSelect, NInputNumber, NCheckbox, NDatePicker, NTimePicker, NRate, NColorPicker, NAutoComplete, NDataTable, useMessage } from 'naive-ui'
|
||||
import JeditorControl from '@/core/components/form/controls/Jeditor.vue'
|
||||
import JeditorControl from '@/core/pagetype/form/controls/Jeditor.vue'
|
||||
import { Icon } from '@iconify/vue'
|
||||
import axios from 'axios'
|
||||
import { t } from '@/shared/i18n'
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<script setup lang="ts">
|
||||
import { ref, computed, onMounted, onUnmounted, nextTick, watch } from 'vue'
|
||||
import { NModal, NButton, NSpace, NIcon, NTag } from 'naive-ui'
|
||||
import FieldRenderer from '@/core/components/form/FieldRenderer.vue'
|
||||
import FieldRenderer from '@/core/pagetype/form/FieldRenderer.vue'
|
||||
import { Icon } from '@iconify/vue'
|
||||
import axios from 'axios'
|
||||
import { get_session_api_headers } from '@/shared/api/auth'
|
||||
@ -3,8 +3,8 @@
|
||||
// - @apps/*/frontend/src/views/pagetype/<entity>/form/panel/<Comp>.vue
|
||||
// - /src/views/pagetype/<entity>/form/panel/<Comp>.vue
|
||||
// 2) 核心路径的 panel 组件(源路径级覆盖)
|
||||
// - @apps/*/frontend/src/core/components/form/panel/<Comp>.vue
|
||||
// - /src/core/components/form/panel/<Comp>.vue
|
||||
// - @apps/*/frontend/src/core/pagetype/form/panel/<Comp>.vue
|
||||
// - /src/core/pagetype/form/panel/<Comp>.vue
|
||||
// 组件名 <Comp>:FormPanel.vue / ImageSection.vue / AttachmentSection.vue / TagSection.vue
|
||||
|
||||
declare const __APPS_ORDER__: string[]
|
||||
|
||||
@ -127,7 +127,7 @@ import { useFlowBuilderStore } from '../../shared/stores/flowBuilder'
|
||||
import { useAgentStore } from '../../shared/stores/agent'
|
||||
import { type AIAgent } from '../../shared/types/agent'
|
||||
import { t } from '../../shared/i18n'
|
||||
import CronEditor from '../../core/components/form/controls/CronEditor.vue'
|
||||
import CronEditor from '../../core/pagetype/form/controls/CronEditor.vue'
|
||||
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
|
||||
@ -76,15 +76,15 @@ const formRef = ref<FormInst | null>(null)
|
||||
const form = ref({ pagetype: '', createFrontend: false, createBackend: true, frontendOptions: ['toolbar'], fieldTypeNames: [] })
|
||||
const pagetypeOptions = ref<{ label: string; value: string }[]>([])
|
||||
|
||||
// 可用的字段类型列表(从 /core/components/form/controls 目录自动生成)
|
||||
// 可用的字段类型列表(从 /core/pagetype/form/controls 目录自动生成)
|
||||
const fieldTypeOptions = ref<{ label: string; value: string }[]>([])
|
||||
const appName = ref('')
|
||||
const moduleName = ref('')
|
||||
|
||||
// 动态加载字段类型选项(从 /core/components/form/controls 目录)
|
||||
// 动态加载字段类型选项(从 /core/pagetype/form/controls 目录)
|
||||
const loadFieldTypeOptions = () => {
|
||||
try {
|
||||
const modules = import.meta.glob('@/core/components/form/controls/*.vue', { eager: true })
|
||||
const modules = import.meta.glob('@/core/pagetype/form/controls/*.vue', { eager: true })
|
||||
const fileNames = Object.keys(modules)
|
||||
.map(path => path.split('/').pop()?.replace('.vue', '') || '')
|
||||
.filter(name => name && !name.startsWith('_')) // 过滤私有文件
|
||||
|
||||
@ -141,7 +141,7 @@ import { NButton, NInput, NIcon, useMessage } from 'naive-ui'
|
||||
import { Icon } from '@iconify/vue'
|
||||
import { t } from '@/shared/i18n'
|
||||
import axios from 'axios'
|
||||
import Jeditor from '@/core/components/form/controls/Jeditor.vue'
|
||||
import Jeditor from '@/core/pagetype/form/controls/Jeditor.vue'
|
||||
|
||||
const router = useRouter()
|
||||
const message = useMessage()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user