// @ts-ignore import axios from '@/libs/api.request'; import {ElMessage, ElMessageBox} from 'element-plus'; import {hiprint} from 'yh-hiprint'; export default async function (code) { let { data: {list, json}, } = await axios.request({ url: `/printTemplate/data/${code}`, method: 'post', type: 'json', data: [ { code: '50101820', }, ], }); if (json) { if (Array.isArray(list) && list.length > 0) { list = list.map((item) => { let printData = {}; let datas = Object.entries(item); datas.forEach((arr) => { if (Array.isArray(arr[1])) { printData[arr[0]] = arr[1]; } else { if (arr[1] !== null && arr[1] !== undefined) { let itemsEntries = Object.entries(arr[1]); itemsEntries.forEach((cArr) => { printData[`$${arr[0]}[${cArr[0]}]`] = cArr[1]; }); } } }); return printData; }); } else { list = []; } const htmlStr = new hiprint.PrintTemplate({template: JSON.parse(json)}).getHtml(list)[0].innerHTML; ElMessageBox.alert(htmlStr, '打印预览', { customClass: 'print-preview-dialog', dangerouslyUseHTMLString: true, closeOnClickModal: true, closeOnPressEscape: true, closeOnHashChange: true, showConfirmButton: false, }); } else { ElMessage.warning({ message: '模板配置不存在,请检查', }); } }