From 6f312ccbc03ee5d640a871f8a91c68bae295d03d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Mon, 21 Apr 2025 17:28:13 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feature:=20=E8=A1=A8=E5=8D=95=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E6=97=B6=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom-class-editor.component.tsx | 21 +++++++++++++++++-- .../form-designer/form-designer.component.tsx | 6 +++--- .../designer/src/components/types/metadata.ts | 2 ++ packages/renderer/src/preview.vue | 18 +++++++++++++++- .../component/src/component.component.tsx | 2 +- .../component/src/component.props.ts | 3 ++- .../src/schema/component.schema.json | 4 ++++ .../src/dynamic-view.component.tsx | 7 +++++++ 8 files changed, 55 insertions(+), 8 deletions(-) diff --git a/packages/designer/src/components/components/form-designer/components/custom-class-editor/custom-class-editor.component.tsx b/packages/designer/src/components/components/form-designer/components/custom-class-editor/custom-class-editor.component.tsx index 880b947369..d582aaba69 100644 --- a/packages/designer/src/components/components/form-designer/components/custom-class-editor/custom-class-editor.component.tsx +++ b/packages/designer/src/components/components/form-designer/components/custom-class-editor/custom-class-editor.component.tsx @@ -5,6 +5,7 @@ import { useViewModelNavigation } from "../../../view-model-designer/method-mana import MonacoEditor from '../../../monaco-editor/monaco-editor.component'; import './custom-class-editor.scss'; import { CustomClassEditorProps, customClassEditorProps } from "./custom-class-editor.props"; +import { useLocation } from "../../../../composition/use-location"; export default defineComponent({ name: 'FCustomClassEditor', @@ -27,10 +28,13 @@ export default defineComponent({ const monacoEditorRef = ref(); /** 自定义样式Dom */ formSchema.module.customClass ??= {}; + const { customClass } = formSchema.module; /** 当前编辑器内的样式代码 */ const currentClassCode = ref(); + const { getUrlParam } = useLocation(); + /** 视图模型页签的样式 */ const viewModelTabClass = computed(() => (viewModelTabId: string) => { const showActiceClass = activeViewModel.value?.id === viewModelTabId; @@ -100,8 +104,17 @@ export default defineComponent({ updateCurrentClassCode(); } + function customStyleFilePath() { + const {code:formCode, projectName} = formSchema.module; + const basePath = getUrlParam('id').split('/').slice(0,3).join('/'); + return `/apps${basePath}/web/${projectName}/${formCode}/${formCode}.css`; + } + onBeforeMount(() => { updateCurrentClassCode(); + if (!formSchema.module.customStyleFile) { + formSchema.module.customStyleFile = customStyleFilePath(); + } }); context.expose({ @@ -136,15 +149,19 @@ export default defineComponent({ return (
- +
{renderViewModelNavgation()}
- +
+
+ 部署路径: + +
); }; diff --git a/packages/designer/src/components/components/form-designer/form-designer.component.tsx b/packages/designer/src/components/components/form-designer/form-designer.component.tsx index 96f444f883..f6a4178787 100644 --- a/packages/designer/src/components/components/form-designer/form-designer.component.tsx +++ b/packages/designer/src/components/components/form-designer/form-designer.component.tsx @@ -128,7 +128,7 @@ export default defineComponent({ const customClassEditorClass = computed(() => { return { - 'pl-2 pr-2 d-flex': true, + 'pl-2 pr-2 d-flex ml-2': true, 'f-designer-view-tabs-item': true, 'active': activeDesignerView.value === 'customClassEditor' }; @@ -265,8 +265,8 @@ export default defineComponent({ class={formDesignerViewClass.value}>可视化设计器
onChangeDesignerView('formDesignerCode')} class={formDesignerCodeViewClass.value}>设计时代码
- {/*
onChangeDesignerView('customClassEditor')} - class={customClassEditorClass.value}>自定义样式
*/} + {
onChangeDesignerView('customClassEditor')} + class={customClassEditorClass.value}>自定义样式
} diff --git a/packages/designer/src/components/types/metadata.ts b/packages/designer/src/components/types/metadata.ts index a73a962a3e..e7048c8bb1 100644 --- a/packages/designer/src/components/types/metadata.ts +++ b/packages/designer/src/components/types/metadata.ts @@ -84,6 +84,8 @@ export interface FormMetaDataModule { // 自定义样式 customClass: any; + customStyleFile?: string; + // 外部模块声明 extraImports: Array<{ name: string; path: string }>; diff --git a/packages/renderer/src/preview.vue b/packages/renderer/src/preview.vue index 466b497f82..b8842d6681 100644 --- a/packages/renderer/src/preview.vue +++ b/packages/renderer/src/preview.vue @@ -1,7 +1,7 @@