/** * 通过模板和模板数据生成打印内容 * @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 += '' }) html += '' html += '' // 解析内容 if (Array.isArray(data)) { data.forEach((item, idx) => { html += '' columns.forEach(column => { if (column.name === '_seq') { html += '' }) html += '' }) } html += '' html += '
' } else { html += '' } html += column.title html += '
' html += (idx + 1) } else { html += '' html += item[column.name] } 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 }