Files
ylst-pc/src/views/DataAnalyse/diagram/components/generatorTable.js
2022-10-13 16:18:22 +08:00

61 lines
1.5 KiB
JavaScript

export default function (imgUrl, columns, data, propsData) {
console.log('imgUrl, columns, data, propsData','---',imgUrl,'---', columns,'---', data,'---', propsData);
const str = []
const meta = `
<body>
`
str.push(meta)
const header = columns.map(item => item.key)
const columnsMap = {};
columns.forEach((item) => {
columnsMap[item.key] = item.title;
});
data = data.map(item => {
const arr = []
header.forEach(head => {
let value
if(item.value){
value = item.value[head]
}else{
value = item[head]
}
arr.push(value)
})
return arr
})
if(propsData.stem||propsData.title) {
str.push(`<div style="font-size: 18px;">${propsData.title}:${propsData.stem}</div>`)
}
if(imgUrl) {
str.push(`<img src="${imgUrl}"/>`)
}
str.push(`<div style="width: 100%; display: flex; justify-content: center">`)
str.push("<table border='1' style='width:100%'>")
str.push('<tr>')
const thead = columns.map(item => `<th>${item.title}</th>`).join('')
str.push(thead)
str.push('</tr>')
console.log('data',data);
data.forEach(row => {
let tbody = ['<tr>']
for (let k of row) {
tbody.push(`<td>${k}</td>`)
}
tbody.push('</tr>')
tbody = tbody.join('')
str.push(tbody)
});
str.push('</table>')
str.push('</div>')
str.push(`</body>
`)
console.log('th 33');
return str.join('')
}