From 855242d4a58ec40ffe87b7173d83ec5a5a54e164 Mon Sep 17 00:00:00 2001 From: han2015 <1019850453@qq.com> Date: Fri, 28 Nov 2025 11:31:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=EF=BC=9A=E5=8F=91=E5=B8=831.?= =?UTF-8?q?0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/logo_text.png | Bin 0 -> 12491 bytes src/components/DesignForm/app/index copy.vue | 2614 ----------------- src/components/DesignForm/app/index.vue | 107 +- .../{tableListPage => }/printHtmlRender.vue | 22 +- .../DesignForm/tableListPage/index copy.vue | 2505 ---------------- .../DesignForm/tableListPage/index.vue | 44 +- .../appPage/appPageForm/openAppFormPage.vue | 2 +- .../appPage/appPageForm/pageForm.vue | 1 - .../appPage/appPageForm/pageList.vue | 1 - .../appPage/appPageForm/printSetupPage2.vue | 6 +- .../lowcodepage/runApp/runAppForm.vue | 2 + 11 files changed, 148 insertions(+), 5156 deletions(-) create mode 100644 src/assets/logo_text.png delete mode 100644 src/components/DesignForm/app/index copy.vue rename src/components/DesignForm/{tableListPage => }/printHtmlRender.vue (91%) delete mode 100644 src/components/DesignForm/tableListPage/index copy.vue diff --git a/src/assets/logo_text.png b/src/assets/logo_text.png new file mode 100644 index 0000000000000000000000000000000000000000..bdf9286b1e83cea1384e8ad1a0623aed1cfc1c23 GIT binary patch literal 12491 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 VgN1Bm{l5SJ002ovPDHLkV1gr|B#Qt5 literal 0 HcmV?d00001 diff --git a/src/components/DesignForm/app/index copy.vue b/src/components/DesignForm/app/index copy.vue deleted file mode 100644 index fa3d145..0000000 --- a/src/components/DesignForm/app/index copy.vue +++ /dev/null @@ -1,2614 +0,0 @@ - - - - diff --git a/src/components/DesignForm/app/index.vue b/src/components/DesignForm/app/index.vue index 3b80580..19bbb36 100644 --- a/src/components/DesignForm/app/index.vue +++ b/src/components/DesignForm/app/index.vue @@ -43,7 +43,10 @@ import { } from "@/api/taskapi/management"; import { formatNumber } from "@/api/DesignForm/utils"; - +import printHtmlRender from '../printHtmlRender.vue' +import {fieldTree,PageConfig} from '../printHtmlRender.vue' +import {printElement} from "@/views/sysworkflow/lowcodepage/appPage/appPageForm/printHtmlDom.js" +import {getPrintTemplate} from '@/api/DesignForm/requestapi' //引入组件 import FormPageCont from "@/components/DesignForm/tableListPage/formPageCont.vue"; import TableFlow from "@/views/sysworkflow/lowcodepage/pageFlow/appTableFlow.vue"; @@ -70,6 +73,7 @@ const props = withDefaults( searchData?: attrButton[]; config?: FormPageConfig|any; formId?: string; + appKey?: string; beforeRequest?: (params: any, rout: any) => any; afterResponse?: (result: any) => any | string; beforeDelete?: (params: any, route: any) => any; @@ -83,6 +87,7 @@ const props = withDefaults( delKey?: string; // 删除标识 lookPageIsShow?: boolean; versionid?: string; + formKey?:string; signCode?: string; pickAppMenu?: any; versiontitle?: string; @@ -1550,6 +1555,91 @@ const lookPageInfo = (val: any) => { drawerWith.value = container.value?.clientWidth; lookPageInfoIsShow.value = true; }; + + +/****************表单打印功能************************/ +const printRenderMode = ref(false); +const printRenderTree: Ref = ref([]); +const printPage = async (row: any) => { + let data:any[]=[] + let _pageConfig:PageConfig + let title:string="表单"; + await getPrintTemplate({"versionid":props.versionid,"formkey":props.appKey}).then(resp=>{ + title=resp.data.title + if(resp.data.formtemplatejson!=""){ + data=JSON.parse(resp.data.formtemplatejson) + }else{ + alert("请先创建打印模板!") + return + } + + if(resp.data.pageconfigjson!=""){ + _pageConfig=JSON.parse(resp.data.pageconfigjson) + if(_pageConfig.founder!=""){ + _pageConfig.founder=row[_pageConfig.founder] + } + if(_pageConfig.founderTime!=""){ + _pageConfig.founderTime=row[_pageConfig.founderTime] + } + if(_pageConfig.deptOrg!=""){ + _pageConfig.deptOrg=row[_pageConfig.deptOrg] + } + if(_pageConfig.serialNumber!=""){ + _pageConfig.serialNumber=row[_pageConfig.serialNumber] + } + } + }) + + let qrstr=`https://wab.hxgk.group/#/form_table/taskInfo?id=${props.formId}&key=${props.appKey}& + formid=${props.versionid}&formKey=${props.formKey}&state=2` + data.forEach(node=>{ + deepLoopForm(node,row) + }) + printRenderTree.value=data + printRenderMode.value = true; + ElMessageBox({ + message: () => h('div',{style:{ width:'1200px',display:'flex','flex-direction':'column'}},[ + h(ElButton, { + type:"primary", + style: "margin:10px 10px 5px auto;", + onClick: () => { + printElement("printContainer") + } + },'打印表单'), + h('div',{style:{ border: '1px solid black', width: 'fit-content', margin: '5px','align-self': 'center'}},[ + h(printHtmlRender,{ + name:title, + fieldTree:printRenderTree.value, + pageConfig:_pageConfig, + qrcode:qrstr, + }) + ]) + ]), + showConfirmButton:false, + customStyle: { '--el-messagebox-width':'1300px',padding:'10px'}, + }).then(() => { + }) +}; + + +const deepLoopForm=(node:fieldTree, row: Record)=>{ + if(Array.isArray(node)){ + node.forEach(item=>{deepLoopForm(item,row)}) + return + } + + if(node.field!=""){ + let rnode:Object; + if (row.hasOwnProperty(node.field!)){// 有这个字段 + if (node.type=="table" || node.type=="tabs"){ + node.data=row[node.field!] + }else{ + node.field=row[node.field!] + } + } + } + } + /** @ 作者: 秦东 @ 时间: 2024-04-05 11:29:50 @@ -2202,6 +2292,21 @@ const isObject = (obj) => { class="fa fa-edit" /> + + + + + import QRCode from 'qrcode'; -import logourl from "@/assets/logo.png"; +import logourl from "@/assets/logo_text.png"; +import { useUserStore } from '@/store/modules/user'; export interface fieldTree{ field?:string; @@ -30,10 +31,11 @@ const props = withDefaults(defineProps<{ name:string, pageConfig:PageConfig, fieldTree:fieldTree[], - formData?:string + qrcode?:string, }>(),{}) const qrdata=ref("") +const userName=useUserStore().nickname; function parseDataPicker(val:string){ if(val==""|| val.match(/[a-z]/) ) return val; @@ -53,7 +55,7 @@ const generateQrCode= ()=>{ } } - QRCode.toDataURL(props.formData, opts, function (err, url) { + QRCode.toDataURL(props.qrcode, opts, function (err, url) { if (err) throw err qrdata.value=url }) @@ -72,7 +74,6 @@ const generateQrCode= ()=>{ 创建人:{{ props.pageConfig.founder }} 创建时间:{{ props.pageConfig.founderTime }} 所属部门:{{ props.pageConfig.deptOrg }} -
@@ -144,9 +145,16 @@ const generateQrCode= ()=>{
{{ group }}
-
+
{{ generateQrCode() }} - +
+ +
使用手机企业微信
扫一扫
+
+
+

打印日期:{{ new Date().toLocaleString() }}

+

打印人: {{userName}}

+
@@ -312,4 +320,4 @@ h5{ border: 1px solid rgb(182, 181, 181); } - \ No newline at end of file + diff --git a/src/components/DesignForm/tableListPage/index copy.vue b/src/components/DesignForm/tableListPage/index copy.vue deleted file mode 100644 index 7a91c76..0000000 --- a/src/components/DesignForm/tableListPage/index copy.vue +++ /dev/null @@ -1,2505 +0,0 @@ - - - - diff --git a/src/components/DesignForm/tableListPage/index.vue b/src/components/DesignForm/tableListPage/index.vue index db05cba..fa01ebe 100644 --- a/src/components/DesignForm/tableListPage/index.vue +++ b/src/components/DesignForm/tableListPage/index.vue @@ -39,8 +39,8 @@ import { softDeletion, retractRunWorkFlow, recalSendMsg } from "@/api/taskapi/ma import { echatsViews } from "@/api/DesignForm/types"; import { formatNumber } from "@/api/DesignForm/utils"; import { Ref } from "vue"; -import printHtmlRender from './printHtmlRender.vue' -import {fieldTree,PageConfig} from './printHtmlRender.vue' +import printHtmlRender 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"; @@ -1344,16 +1344,15 @@ const lookPageInfo = (val: any) => { lookPageInfoIsShow.value = true; }; - +/****************表单打印功能************************/ const printRenderMode = ref(false); -// Explicitly type as Ref - const printRenderTree: Ref = ref([]); const printPage = async (row: any) => { let data:any[]=[] let _pageConfig:PageConfig let title:string="表单"; - await getPrintTemplate({"versionid":props.versionid,"formkey":props.formKey}).then(resp=>{ + //这里appkey和formkey 有些乱,由于历史遗留问题,不好区分。。。 + await getPrintTemplate({"versionid":props.versionid,"formkey":props.appKey}).then(resp=>{ title=resp.data.title if(resp.data.formtemplatejson!=""){ data=JSON.parse(resp.data.formtemplatejson) @@ -1375,7 +1374,7 @@ const printPage = async (row: any) => { } }) - let qrstr=`https://wab.hxgk.group/#/form_table/taskInfo?id=${props.formId}}&key=${props.appKey}& + let qrstr=`https://wab.hxgk.group/#/form_table/taskInfo?id=${props.formId}&key=${props.appKey}& formid=${props.versionid}&formKey=${props.formKey}&state=2` data.forEach(node=>{ @@ -1397,7 +1396,7 @@ const printPage = async (row: any) => { name:title, fieldTree:printRenderTree.value, pageConfig:_pageConfig, - formData:qrstr + qrcode:qrstr }) ]) ]), @@ -1408,26 +1407,25 @@ const printPage = async (row: any) => { }; -function deepLoopForm(node:fieldTree, row: Record){ - if(Array.isArray(node)){ - node.forEach(item=>{deepLoopForm(item,row)}) - return - } - if(node.field!=""){ - let rnode:Object; - if (row.hasOwnProperty(node.field!)){// 有这个字段 - if (node.type=="table" || node.type=="tabs"){ - node.data=row[node.field!] - }else{ - node.field=row[node.field!] +const deepLoopForm=(node:fieldTree, row: Record)=>{ + if(Array.isArray(node)){ + node.forEach(item=>{deepLoopForm(item,row)}) + return + } + + if(node.field!=""){ + let rnode:Object; + if (row.hasOwnProperty(node.field!)){// 有这个字段 + if (node.type=="table" || node.type=="tabs"){ + node.data=row[node.field!] + }else{ + node.field=row[node.field!] + } } } } -} - - /** @ 作者: 秦东 @ 时间: 2024-04-05 11:29:50 diff --git a/src/views/sysworkflow/lowcodepage/appPage/appPageForm/openAppFormPage.vue b/src/views/sysworkflow/lowcodepage/appPage/appPageForm/openAppFormPage.vue index 1ed75e9..1360111 100644 --- a/src/views/sysworkflow/lowcodepage/appPage/appPageForm/openAppFormPage.vue +++ b/src/views/sysworkflow/lowcodepage/appPage/appPageForm/openAppFormPage.vue @@ -541,7 +541,7 @@ defineExpose({ :form-id="stateForm.formId" :app-key="props.menusInfo.appkey" :versionid="versionId" - :form-key="props.formKey" + :form-key="props.menusInfo.id" :versiontitle="versionTitle" v-model:look-page-is-show="lookPageIsShow" :viewPage="stateList.view" diff --git a/src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageForm.vue b/src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageForm.vue index fc16bcf..d1b9e41 100644 --- a/src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageForm.vue +++ b/src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageForm.vue @@ -776,7 +776,6 @@ const dialogConfirmTree = (val: treeStruct[], types: string) => { };