From b8853c21e55084834dd96236732e25707ec2d52b Mon Sep 17 00:00:00 2001 From: han2015 <1019850453@qq.com> Date: Tue, 25 Nov 2025 16:26:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=EF=BC=9A=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=EF=BC=8C=E6=B7=BB=E5=8A=A0pageConfig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DesignForm/tableListPage/index.vue | 28 ++-- .../tableListPage/printHtmlRender.vue | 158 ++++++++++-------- .../appPage/appPageForm/printHtmlDom.js | 18 ++ .../appPage/appPageForm/printSetupPage2.vue | 64 ++++++- 4 files changed, 181 insertions(+), 87 deletions(-) diff --git a/src/components/DesignForm/tableListPage/index.vue b/src/components/DesignForm/tableListPage/index.vue index 7a55108..73de33f 100644 --- a/src/components/DesignForm/tableListPage/index.vue +++ b/src/components/DesignForm/tableListPage/index.vue @@ -40,7 +40,7 @@ import { echatsViews } from "@/api/DesignForm/types"; import { formatNumber } from "@/api/DesignForm/utils"; import { Ref } from "vue"; import printHtmlRender from './printHtmlRender.vue' -import {fieldTree} from './printHtmlRender.vue' +import {fieldTree,pageConfig} from './printHtmlRender.vue' import {printElement} from "@/views/sysworkflow/lowcodepage/appPage/appPageForm/printHtmlDom.js" //引入组件 import FormPageCont from "@/components/DesignForm/tableListPage/formPageCont.vue"; @@ -1350,10 +1350,17 @@ const printRenderMode = ref(false); const printRenderTree: Ref = ref([]); const printPage = async (row: any) => { let data:any[]=[] + let pageWidth:string="210mm" let title:string="表单"; await getPrintTemplate({"versionid":props.versionid,"formkey":props.formKey}).then(resp=>{ title=resp.data.title - data=JSON.parse(resp.data.formtemplatejson) + if(resp.data.formtemplatejson!=""){ + data=JSON.parse(resp.data.formtemplatejson) + } + if(resp.data.pageconfigjson!=""){ + let pageConfig:pageConfig=JSON.parse(resp.data.pageconfigjson) + pageWidth=pageConfig.width + } }) data.forEach(node=>{ @@ -1362,7 +1369,7 @@ const printPage = async (row: any) => { printRenderTree.value=data printRenderMode.value = true; ElMessageBox({ - message: () => h('div',{style:{ width:'1000px',display:'flex','flex-direction':'column'}},[ + message: () => h('div',{style:{ width:'1200px',display:'flex','flex-direction':'column'}},[ h(ElButton, { type:"primary", style: "margin:10px 10px 5px auto;", @@ -1371,15 +1378,16 @@ const printPage = async (row: any) => { } },'打印表单'), h('div',{style:{ border: '1px solid black', width: 'fit-content', margin: '5px'}},[ - h(printHtmlRender, { - name:title, - fieldTree:printRenderTree.value, - formData:row - }) - ]) + h(printHtmlRender,{ + name:title, + fieldTree:printRenderTree.value, + width:pageWidth, + formData:row + }) + ]) ]), showConfirmButton:false, - customStyle: { '--el-messagebox-width':'1100px',padding:'10px'}, + customStyle: { '--el-messagebox-width':'1300px',padding:'10px'}, }).then(() => { }) diff --git a/src/components/DesignForm/tableListPage/printHtmlRender.vue b/src/components/DesignForm/tableListPage/printHtmlRender.vue index d41b4ce..6d1ed3b 100644 --- a/src/components/DesignForm/tableListPage/printHtmlRender.vue +++ b/src/components/DesignForm/tableListPage/printHtmlRender.vue @@ -9,8 +9,17 @@ export interface fieldTree{ child?:fieldTree[] } +export interface pageConfig{ + width:string, + height:string, + horizontal:string;//横向 + pagesize:string; +} + + const props = withDefaults(defineProps<{ name:string, + width:string, fieldTree:fieldTree[], formData?:any }>(),{}) @@ -18,27 +27,19 @@ const props = withDefaults(defineProps<{ -