From abe6ccaf1f3b505c333bc3064bb759c05910b7e1 Mon Sep 17 00:00:00 2001 From: lion <120344285@qq.com> Date: Fri, 11 Jul 2025 11:46:49 +0800 Subject: [PATCH] =?UTF-8?q?oa=20=E6=89=93=E5=8D=B0js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/formBuilder.js | 6 +++--- src/utils/print.js | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/utils/formBuilder.js b/src/utils/formBuilder.js index a3f02cb..0189512 100644 --- a/src/utils/formBuilder.js +++ b/src/utils/formBuilder.js @@ -851,7 +851,6 @@ export default function formBuilder( ? target[info.name] : Number(target[info.name]); } - console.log("res2",res) if (res instanceof Array) { if (typeof options[0] === "object") { return options @@ -1105,7 +1104,8 @@ export default function formBuilder( "el-form-item", { attrs: { - 'data-field-id': info.id + 'data-field-id': info.id, + 'data-field-name':info.name }, props: { prop: info.name, @@ -1920,7 +1920,7 @@ export default function formBuilder( formItem = h("van-field", { props: { value: target[info.name], - readonly: true + readonly: true, }, }) } diff --git a/src/utils/print.js b/src/utils/print.js index 12e1910..871440a 100644 --- a/src/utils/print.js +++ b/src/utils/print.js @@ -32,10 +32,41 @@ export async function print(printJs, isLog, form, logContent) { const matchName = fieldMath.match(/name="([^"]+)"/); if (matchName) { const nameValue = matchName[1]; + console.log("nameValue",nameValue) if (Array.from(staticMap.keys()).indexOf(nameValue) !== -1) { printStr = printStr.replace(fieldMath, staticMap.get(nameValue)) } else { - let value = store.getters.device === 'desktop' ? (document.querySelector(`[for="${nameValue}"]+div`) ? document.querySelector(`[for="${nameValue}"]+div`).innerHTML : '') : (document.querySelector(`[for="${nameValue}"] > div:nth-child(2)`) ? document.querySelector(`[for="${nameValue}"] > div:nth-child(2)`).innerHTML : '') + // let value = store.getters.device === 'desktop' ? + // (document.querySelector(`[for="${nameValue}"]+div`) ? + // document.querySelector(`[for="${nameValue}"]+div`).innerHTML + // : (document.querySelector(`[for="${nameValue}"] > div:nth-child(2)`) ? + // document.querySelector(`[for="${nameValue}"] > div:nth-child(2)`).innerHTML + // : (document.querySelector(`[data-field-name="${nameValue}"] > div span`) ? + // document.querySelector(`[data-field-name="${nameValue}"] > div span`).innerHTML:'') + // if(){ + + // } + let value; + const desktopMode = store.getters.device === 'desktop'; + + if (desktopMode) { + // 桌面模式下的查找逻辑 + const element1 = document.querySelector(`[for="${nameValue}"]+div`); + if (element1) { + value = element1.innerHTML; + } else { + const element2 = document.querySelector(`[for="${nameValue}"] > div:nth-child(2)`); + if (element2) { + value = element2.innerHTML; + } else { + const element3 = document.querySelector(`[data-field-name="${nameValue}"] > div span`); + value = element3 ? element3.innerHTML : ''; + } + } + } else { + // 非桌面模式下的逻辑(原代码未给出,需要补充) + value = ''; + } if (/