时间:22-09-30 栏目:Javascript 作者:zongyan86 评论:0 点击: 660 次
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 | // 打印模板 import { getLodop } from '@/lodopPrint/LodopFuncs.js' // 预防后期个性化需求调整,一个模板最好单独一个方法 // 现房备案申请审批表 /** * @param {*} html 模板 * @param {*} LODOP lodop实例对象 */ export const ExistingHouseFilingPrint = function(info, html) { Object.keys(info).forEach((k) => info[k] = info[k] || '') const LODOP = getLodop() LODOP.PRINT_INIT(info.title || '现房备案申请审批表') LODOP.SET_PRINT_STYLE('FontSize', 24) LODOP.SET_PRINT_STYLE('color', 'black') LODOP.SET_SHOW_MODE('PREVIEW_IN_BROWSE', 1) const newHtml = new Function('info', `return \`${html}\`;`)(info) LODOP.ADD_PRINT_HTM(0, 0, '100%', '100%', newHtml) LODOP.PREVIEW() } // 预售审批表 /** * @param {*} info 数据对象 * @param {*} html 模板 * @param {*} LODOP lodop实例对象 */ export const PresaleApprovalFormPrint = function(info, html, html4, html4css) { Object.keys(info).forEach((k) => info[k] = info[k] || '') const LODOP = getLodop() LODOP.PRINT_INIT(info.title || '预售审批表') LODOP.SET_PRINT_STYLE('FontSize', 24) LODOP.SET_PRINT_STYLE('color', 'black') LODOP.SET_SHOW_MODE('PREVIEW_IN_BROWSE', 1) const newHtml = new Function('info', `return \`${html}\`;`)(info) LODOP.ADD_PRINT_HTM(0, 0, '100%', '100%', newHtml) /* LODOP.NewPageA() const newhtml4 = new Function('info', `return \`${html4}\`;`)(info) const temp = `<div class="wt-content"><div class="four">${newhtml4}</div></div>` LODOP.ADD_PRINT_HTM(0, 0, '100%', '100%', html4css + temp) */ LODOP.PREVIEW() } // 新版备案表 /** * @param {*} html 模板 * @param {*} LODOP lodop实例对象 */ export const NewFormFilingFormPrint = function(info, html, BKIMG_IN_PREVIEW, BKIMG_PRINT) { Object.keys(info).forEach((k) => info[k] = info[k] || '') const LODOP = getLodop() LODOP.PRINT_INIT(info.title || '新版合同备案表') LODOP.SET_PRINT_STYLE('FontSize', 24) LODOP.SET_PRINT_STYLE('color', 'black') LODOP.SET_SHOW_MODE('PREVIEW_IN_BROWSE', 1) const newHtml = new Function('info', `return \`${html}\`;`)(info) LODOP.ADD_PRINT_HTM(0, 0, '100%', '100%', newHtml) // 条码打印必须放html渲染后面 LODOP.ADD_PRINT_BARCODE(88, 400, 250, 54, '128A', info.barCode) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) // 文字设置样式 LODOP.SET_PRINT_STYLEA(0, 'AlignJustify', 2)// 文字变小居中 LODOP.SET_PRINT_STYLEA(0, 'Bold', 0)// 无效 const backgroundUrl = info.backgroundUrl || 'http://192.168.101.72:8090/static/reportTemplate/新版合同备案表.png' LODOP.ADD_PRINT_SETUP_BKIMG("<img src='" + backgroundUrl + "' />") // 打印预览界面是否内嵌到网页内部。(内嵌:1或true) LODOP.SET_SHOW_MODE('PREVIEW_IN_BROWSE', 1) // 打印预览时,是否显示图片。(显示:true,隐藏:false) LODOP.SET_SHOW_MODE('BKIMG_IN_PREVIEW', BKIMG_IN_PREVIEW) // 打印时,是否打印图片。(打印图片:true,不打印图片:false) LODOP.SET_SHOW_MODE('BKIMG_PRINT', BKIMG_PRINT) LODOP.PREVIEW() } // 旧版备案表 /** * @param {*} html 模板 * @param {*} LODOP lodop实例对象 */ export const OldFormFilingFormPrint = function(info, html, BKIMG_IN_PREVIEW, BKIMG_PRINT) { Object.keys(info).forEach((k) => info[k] = info[k] || '') const LODOP = getLodop() LODOP.PRINT_INIT(info.title || '旧版合同备案表') LODOP.SET_PRINT_STYLE('FontSize', 24) LODOP.SET_PRINT_STYLE('color', 'black') LODOP.SET_SHOW_MODE('PREVIEW_IN_BROWSE', 1) const newHtml = new Function('info', `return \`${html}\`;`)(info) LODOP.ADD_PRINT_HTM(0, 0, '100%', '100%', newHtml) // 条码打印必须放html渲染后面 LODOP.ADD_PRINT_BARCODE(88, 400, 250, 54, '128A', info.barCode) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) // 文字设置样式 LODOP.SET_PRINT_STYLEA(0, 'AlignJustify', 2)// 文字变小居中 LODOP.SET_PRINT_STYLEA(0, 'Bold', 0)// 无效 const backgroundUrl = info.backgroundUrl || 'http://192.168.101.72:8090/static/reportTemplate/新版合同备案表.png' LODOP.ADD_PRINT_SETUP_BKIMG("<img src='" + backgroundUrl + "' />") // 打印预览界面是否内嵌到网页内部。(内嵌:1或true) LODOP.SET_SHOW_MODE('PREVIEW_IN_BROWSE', 1) // 打印预览时,是否显示图片。(显示:true,隐藏:false) LODOP.SET_SHOW_MODE('BKIMG_IN_PREVIEW', BKIMG_IN_PREVIEW) // 打印时,是否打印图片。(打印图片:true,不打印图片:false) LODOP.SET_SHOW_MODE('BKIMG_PRINT', BKIMG_PRINT) LODOP.PREVIEW() } /** 许可证套打 * @param {*} info 数据源 * @param {*} html 模板 * @param {*} isPriview 是否预览 true 预览,false 设计 * @param {*} tplNumb 模板名(未来其他许可证模板特殊处理) * @param {*} direction zhengda /ceda * @param {*} BKIMG_IN_PREVIEW 背景图是否预览 * @param {*} BKIMG_PRINT 背景图是否打印 */ export const PermitPrint = function(info, html, isPriview, tplNumb, direction, BKIMG_IN_PREVIEW, BKIMG_PRINT, callBack) { const LODOP = getLodop() // Object.keys(info).forEach((k) => info[k] = info[k] || '') // 初始化模板 LODOP.PRINT_INITA('1.85mm', '0.79mm', '338.67mm', '239.18mm', '套打所有权的模板') // LODOP.SET_PRINT_MODE("POS_BASEON_PAPER",true); // LODOP.SET_PRINT_STYLEA(0,"Stretch",2);//按原图比例(不变形)缩放模式 LODOP.SET_PRINT_MODE('PRINT_PAGE_PERCENT', 'Width:100%;Height:100%') // 判断是正打还是侧打 if (direction == 'zhengda') { // 正打 if (tplNumb == 'tpl001') { // 房屋预售许可证 LODOP.SET_PRINT_PAGESIZE(1, 3300, 2300, '')// 单位0.1mm // LODOP.SET_PRINT_PAGESIZE(2, '209mm', '113mm', '')// 设置纸张高度 A4210mm×297mm } else if (tplNumb == 'tpl002') { // 房屋预告登记证明 LODOP.SET_PRINT_PAGESIZE(1, 2500, 1800, '')// 单位0.1mm } else if (tplNumb == 'tpl007') { // 房屋所有权证 LODOP.SET_PRINT_PAGESIZE(1, 3320, 2390, '')// 单位0.1mm } else if (tplNumb == 'tpl009' || tplNumb == 'tpl012') { // 房屋一般抵押权 或者 房屋在建工程抵押权 LODOP.SET_PRINT_PAGESIZE(1, 2500, 1800, '')// 单位0.1mm } } else { // 侧打 if (tplNumb == 'tpl001') { // 房屋预售许可证 LODOP.SET_PRINT_PAGESIZE(2, 2300, 3300, '')// 单位0.1mm } else if (tplNumb == 'tpl002') { // 房屋预告登记证明 LODOP.SET_PRINT_PAGESIZE(2, 1800, 2500, '')// 单位0.1mm } else if (tplNumb == 'tpl007') { // 房屋所有权证 LODOP.SET_PRINT_PAGESIZE(2, 2390, 3320, '')// 单位0.1mm // LODOP.SET_PRINT_STYLEA(0,"AngleOfPageInside",90); } else if (tplNumb == 'tpl009' || tplNumb == 'tpl012') { // 房屋一般抵押权 或者 房屋在建工程抵押权 LODOP.SET_PRINT_PAGESIZE(2, 1800, 2500, '')// 单位0.1mm } } // 打印预览界面是否内嵌到网页内部。(内嵌:1或true) LODOP.SET_SHOW_MODE('PREVIEW_IN_BROWSE', 1) // 打印预览时,是否显示图片。(显示:true,隐藏:false) LODOP.SET_SHOW_MODE('BKIMG_IN_PREVIEW', BKIMG_IN_PREVIEW || true) // 打印时,是否打印图片。(打印图片:true,不打印图片:false) LODOP.SET_SHOW_MODE('BKIMG_PRINT', BKIMG_PRINT || true) const backgroundUrl = info.backgroundUrl || 'http://192.168.101.72:8090/static/reportTemplate/tpl001.jpg' LODOP.ADD_PRINT_SETUP_BKIMG("<img src='" + backgroundUrl + "' />") // 标记背景图左边距和上边距区域// LODOP.SET_SHOW_MODE('BKIMG_LEFT', 0) LODOP.SET_SHOW_MODE('BKIMG_TOP', 0) // 标记背景图左边距和上边距区域// /** *以下内容为上传文件数据替换的区域 *1)//标记动态数据区域// 这部分模板设计者,不能改变,由管理员决定。 *2)//标记背景图左边距和上边距区域// 这部分模板设计者,可以改变,由设计完成的模板生成代码中的对应代码进行替换。 *3)//标记设计数据区域// 这部分模板设计者,可以改变,由设计完成的模板生成代码中的对应代码进行替换,字段值改为对应的1)中对应的标记动态数据。 *友情提示:如果还有疑惑的,请联系系统管理员。 */ // 标记动态数据区域// const replaceHtml = function(html, obj) { Object.keys(obj).forEach((key) => { html = html.replace(key.toString(), obj[key]) }) return html } // 预览 if (isPriview) { const lastHtml = replaceHtml(html, info) eval(lastHtml)// 替换完的html值,动态绑定 // 已流的形式输出背景图片 const backgroundUrl = info.backgroundUrl || 'http://192.168.101.72:8090/static/reportTemplate/tpl001.jpg' LODOP.ADD_PRINT_SETUP_BKIMG("<img src='" + backgroundUrl + "' />") LODOP.PREVIEW() } else { eval(html) // 已流的形式输出背景图片 const backgroundUrl = info.backgroundUrl || 'http://192.168.101.72:8090/static/reportTemplate/tpl001.jpg' LODOP.ADD_PRINT_SETUP_BKIMG("<img src='" + backgroundUrl + "' />") LODOP.SET_SHOW_MODE('HIDE_PBUTTIN_SETUP', true)// 隐藏打印设计界面的‘打印’按钮 LODOP.PRINT_DESIGN() // LODOP.PRINT_SETUP() // 保存记录 if (LODOP.CVERSION) { LODOP.On_Return = function (TaskID, Value) { // ajax存库,或重新读写模板 callBack && callBack(Value) console.log(Value) } } } } |