oa 打印js

master
lion 5 months ago
parent aca0bad87a
commit abe6ccaf1f

@ -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,
},
})
}

@ -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 (/<table/g.test(value)) {
let subForm = await this.$refs['desktopForm'].$refs[`subForm-${nameValue}`].exportData({
type: 'html',
@ -45,7 +76,7 @@ export async function print(printJs, isLog, form, logContent) {
let subFormStyle = subForm.content.match(/<style>(.*?)<\/style>/g)[0]
printStr = printStr.replace('</style>',`</style>${subFormStyle}`)
printStr = printStr.replace(fieldMath,subFormBody)
console.log(fieldMath, printStr)
// console.log(fieldMath, printStr)
} else {
printStr = printStr.replace(fieldMath,`<span>${value}</span>`)
}

Loading…
Cancel
Save