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 880b94736952c3775b9c83654f0ff44794503dad..d582aaba6951dedda3a219f009a622314584ce95 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 96f444f8839e37fe66a5bd09d654415122b92267..f6a4178787ecd09f924acfa32eff7ef36c6fe0a7 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 a73a962a3ee238a6f0fbee9ab15ff4b260283e03..e7048c8bb10e90c0101c3368286624f3a0e62750 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 466b497f82e4369b7764607e2fc7ed57f4034864..b8842d66810cb7aa003d1c28af495d01e004a9fa 100644 --- a/packages/renderer/src/preview.vue +++ b/packages/renderer/src/preview.vue @@ -1,7 +1,7 @@