1.引入脚本
import { getLodop } from '/lodopFuncs'
let LODOP
2.获取MAC地址
LODOP = getLodop()
LODOP.GET_SYSTEM_INFO('NetworkAdapter.1.PhysicalAddress')
let that = this
LODOP.On_Return = function (TaskId, Value) {
let mac = value
}
3.打印设计
// 打印设计
createPage () {
LODOP = getLodop()
LODOP.PRINT_INITA(0, 0, 665, 600, '模板设计')
},
// 打印设计
displayDesign () {
this.createPage()
LODOP.SET_SHOW_MODE('DESIGN_IN_BROWSE', 1)
LODOP.PRINT_DESIGN()
// let that = this
// LODOP.On_Return = function (TaskID, Value) {
// console.log(Value)
// that.docData = Value
// }
this.getProgramData()
}
4.生成模板
// 生成模板
getProgramData () {
LODOP = getLodop()
LODOP.GET_VALUE('ProgramData', 0)
let that = this
LODOP.On_Return = function (TaskID, Value) {
// console.log(Value)
that.label.content = Value
that.getProgramCode()
}
}
5.获取程序代码
// 获取程序代码
getProgramCode () {
LODOP = getLodop()
LODOP.GET_VALUE('ProgramCodes', 0)
let that = this
LODOP.On_Return = function (TaskID, Value) {
// console.log(Value)
that.label.original_content = Value
that.modifyLabel()
}
}
6.模板重载
// 模板重载
designByPRGData () {
LODOP = getLodop()
LODOP.ADD_PRINT_DATA('ProgramData', this.label.content) // 装载模板
LODOP.SET_SHOW_MODE('DESIGN_IN_BROWSE', 1)
LODOP.PRINT_DESIGN()
// this.getProgramCode()
}
7.装载数据打印
designByInStorageData () {
for (let i = 0; i < this.printData.dataArr.length; i++) {
LODOP = getLodop()
LODOP.ADD_PRINT_DATA('ProgramData', this.defaultLabel.content)// 装载模板
LODOP.SET_PRINT_PAGESIZE(1, 0, 0, 'A4') // 设置纸张
LODOP.SET_PRINT_STYLEA('business-code', 'CONTENT', this.printData.dataArr[i].no) // 业务单号
LODOP.SET_PRINT_STYLEA('entry-type', 'CONTENT', this.judgeInStorageCategory(this.printData.dataArr[i].category)) // 入库类型
LODOP.SET_PRINT_STYLEA('warehouse-name', 'CONTENT', this.printData.dataArr[i].storage.name) // 仓库药房名称
LODOP.SET_PRINT_STYLEA('warehouse-code', 'CONTENT', this.printData.dataArr[i].storage.no) // 仓库药房编码
LODOP.SET_PRINT_STYLEA('agent', 'CONTENT', this.printData.dataArr[i].operator.user.get_full_name) // 制单人
LODOP.SET_PRINT_STYLEA('make-time', 'CONTENT', this.printData.dataArr[i].create_time) // 制单时间
LODOP.SET_PRINT_STYLEA('review-state', 'CONTENT', this.judgeInStorageCheck(this.printData.dataArr[i].check_status)) // 审核状态
LODOP.SET_PRINT_STYLEA('reviewer', 'CONTENT', this.printData.dataArr[i].check_operator ? this.printData.dataArr[i].check_operator.user.get_full_name : '无') // 审核人
LODOP.SET_PRINT_STYLEA('review-time', 'CONTENT', this.printData.dataArr[i].check_time ? this.printData.dataArr[i].check_time : '') // 审核时间
LODOP.SET_PRINT_STYLEA('review-remake', 'CONTENT', this.printData.dataArr[i].abandon_remarks ? this.printData.dataArr[i].abandon_remarks : '') // 审核备注
LODOP.SET_PRINT_STYLEA('total-price', 'CONTENT', this.printData.dataArr[i].total_price) // 总价
let trStr = ''
let tdName = this.tdNameBind(this.entryDetail.inStorage)
trStr += `<tr>${tdName}</tr>`
for (let j = 0; j < this.printData.dataArr[i].medicine_batches.length; j++) {
let tdStr = this.bindTdValueInStorage(this.printData.dataArr[i].medicine_batches[j])
trStr += `<tr>${tdStr}</tr>`
}
let tableStr = ''
tableStr = '<table border="1">' + trStr + '</table>'
LODOP.SET_PRINT_STYLEA('tablename', 'CONTENT', tableStr)
LODOP.SET_PRINTER_INDEX(this.defaultPrinter.printer_name)
// LODOP.PRINT()
LODOP.PREVIEW()
}
}