/**
* 通过模板和模板数据生成打印内容
* @param temp 打印模板
* @param data 模板数据
*/
export const tempToPrint = (temp, data) => {
let printContent = temp.map(item => {
var reg = /({[^{]*})/g
let value = item.value.replace(reg, data[item.name] || '')
return {
top: item.top,
left: item.left,
width: item.width,
height: item.height,
value: value
}
})
return printContent
}
/**
* braid-tabel类型的模板转换成html
* @param columns 表格列配置信息
* @param data 表格数据
*/
export const tableTempTohtml = (columns, data, style) => {
// 表格全局样式
let styleStr = 'text-align:' + style.Alignment + ';'
styleStr += 'font-size:' + style.FontSize + 'pt;'
styleStr += 'color:' + style.FontColor + ';'
let html = ''
html += '
'
// 解析表头
html += ''
columns.forEach(column => {
if (column.name === '_seq') { // 序号列
html += ''
} else {
html += ' | '
}
html += column.title
html += ' | '
})
html += '
'
html += ''
// 解析内容
if (Array.isArray(data)) {
data.forEach((item, idx) => {
html += ''
columns.forEach(column => {
if (column.name === '_seq') {
html += ''
html += (idx + 1)
} else {
html += ' | '
html += item[column.name]
}
html += ' | '
})
html += '
'
})
}
html += ''
html += '
'
return html
}
/**
* braid-image类型的模板转换成html
* @param value 图片相对地址
*/
export const imageTempTohtml = (value) => {
let html = '
'
return html
}
/**
* 将字符串模板中{}内的内容替换成指定值
* @param str 表格列配置信息
* @param value 表格数据
*/
export const strTempToValue = (str, value) => {
let reg = /({[^}^{]*})/g
return str.replace(reg, value || '')
}
export const htmlTempTohtml = (val, style) => {
// 表格全局样式
let styleStr = 'text-align:' + style.Alignment + ';'
styleStr += 'font-size:' + style.FontSize + 'pt;'
styleStr += 'color:' + style.FontColor + ';'
let html = ''
html += val
html += ''
// console.log(html)
return html
}