|
@@ -172,87 +172,85 @@ export default {
|
|
salesId: row.salesId
|
|
salesId: row.salesId
|
|
})
|
|
})
|
|
pagingData = this.filterArr(data.items,4)
|
|
pagingData = this.filterArr(data.items,4)
|
|
- // 初始化模板,否则生成的模板叠加
|
|
|
|
- hiprint.init()
|
|
|
|
- this.hiprintTemplate = new hiprint.PrintTemplate()
|
|
|
|
- // 兼容批量打印
|
|
|
|
- // let params = !type ? this.filterArr() : [row.salesId]
|
|
|
|
- let len = pagingData.length
|
|
|
|
- let loadingLen = len
|
|
|
|
- console.log(len,pagingData)
|
|
|
|
- // 使用 i-- 提升for效率
|
|
|
|
- this.$startLoading()
|
|
|
|
- for (let i = 0; i < len; i++) {
|
|
|
|
- try {
|
|
|
|
- let websitHtml = ''
|
|
|
|
- let html = ''
|
|
|
|
- let num = 0
|
|
|
|
- let totalAmount = 0
|
|
|
|
- pagingData[i].forEach(item=>{
|
|
|
|
- totalAmount = (Number(item.saleAmount)*100 + totalAmount*100)/100
|
|
|
|
- num += Number(item.salesQty)
|
|
|
|
- html += `
|
|
|
|
- <tr align="center">
|
|
|
|
- <td>${item.goodsName || ''}</td>
|
|
|
|
- <td>${item.goodsSpecification || ''}</td>
|
|
|
|
- <td>${item.goodsSalesUnit || ''}</td>
|
|
|
|
- <td>${item.salesQty || ''}</td>
|
|
|
|
- <td>${item.price || ''}</td>
|
|
|
|
- <td>${item.saleAmount || ''}</td>
|
|
|
|
- <td></td>
|
|
|
|
- <td></td>
|
|
|
|
- </tr>
|
|
|
|
- `
|
|
|
|
- })
|
|
|
|
- this.websitList.slice(0,5).forEach(item=>{
|
|
|
|
- websitHtml += `
|
|
|
|
- <div style="display: flex;font-size: 14px;margin-bottom: 6px;">
|
|
|
|
- <div style="margin-right: 10px;">${item.name}</div>
|
|
|
|
- <div style="margin-right: 10px;">${item.websitPhone}</div>
|
|
|
|
- <div>地址: ${item.address}</div>
|
|
|
|
- </div>
|
|
|
|
- `
|
|
|
|
- })
|
|
|
|
- // 模板基础配置
|
|
|
|
- this.panel = this.hiprintTemplate.addPrintPanel({
|
|
|
|
- height: 140,
|
|
|
|
- width: 241,
|
|
|
|
- fontFamily: '黑体',
|
|
|
|
- fontSize: 13,
|
|
|
|
- paperFooter: 340,
|
|
|
|
- paperHeader: 10,
|
|
|
|
- paperNumberDisabled: true
|
|
|
|
- })
|
|
|
|
-
|
|
|
|
- // 获取收款单模板和基础配置
|
|
|
|
- this.panel.addPrintHtml({
|
|
|
|
- options: {
|
|
|
|
- width: 633,
|
|
|
|
- top: 30,
|
|
|
|
- left: 20,
|
|
|
|
- fontFamily: '黑体',
|
|
|
|
- fontSize: 13,
|
|
|
|
- content: this.setTableDom(data,html,websitHtml,totalAmount,num,len,i)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
-
|
|
|
|
- loadingLen--
|
|
|
|
- } catch (error) {
|
|
|
|
- console.log(999,error)
|
|
|
|
- this.$endLoading()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (loadingLen === 0) {
|
|
|
|
- this.$endLoading()
|
|
|
|
- }
|
|
|
|
- console.log(333)
|
|
|
|
- // 预览打印内容
|
|
|
|
- this.$refs.preView.show(this.hiprintTemplate, this.panel)
|
|
|
|
|
|
+ // 初始化模板,否则生成的模板叠加
|
|
|
|
+ hiprint.init()
|
|
|
|
+ this.hiprintTemplate = new hiprint.PrintTemplate()
|
|
|
|
+ // 兼容批量打印
|
|
|
|
+ // let params = !type ? this.filterArr() : [row.salesId]
|
|
|
|
+ let len = pagingData.length
|
|
|
|
+ let loadingLen = len
|
|
|
|
+ // 使用 i-- 提升for效率
|
|
|
|
+ this.$startLoading()
|
|
|
|
+ for (let i = 0; i < len; i++) {
|
|
|
|
+ try {
|
|
|
|
+ let websitHtml = ''
|
|
|
|
+ let html = ''
|
|
|
|
+ let num = 0
|
|
|
|
+ let totalAmount = 0
|
|
|
|
+ pagingData[i].forEach(item=>{
|
|
|
|
+ totalAmount = (Number(item.saleAmount)*100 + totalAmount*100)/100
|
|
|
|
+ num += Number(item.salesQty)
|
|
|
|
+ html += `
|
|
|
|
+ <tr align="center">
|
|
|
|
+ <td>${item.goodsName || ''}</td>
|
|
|
|
+ <td>${item.goodsSpecification || ''}</td>
|
|
|
|
+ <td>${item.goodsSalesUnit || ''}</td>
|
|
|
|
+ <td>${item.salesQty || ''}</td>
|
|
|
|
+ <td>${item.price || ''}</td>
|
|
|
|
+ <td>${item.saleAmount || ''}</td>
|
|
|
|
+ <td></td>
|
|
|
|
+ <td></td>
|
|
|
|
+ </tr>
|
|
|
|
+ `
|
|
|
|
+ })
|
|
|
|
+ this.websitList.slice(0,5).forEach(item=>{
|
|
|
|
+ websitHtml += `
|
|
|
|
+ <div style="display: flex;font-size: 14px;margin-bottom: 6px;">
|
|
|
|
+ <div style="margin-right: 10px;">${item.name}</div>
|
|
|
|
+ <div style="margin-right: 10px;">${item.websitPhone}</div>
|
|
|
|
+ <div>地址: ${item.address}</div>
|
|
|
|
+ </div>
|
|
|
|
+ `
|
|
|
|
+ })
|
|
|
|
+ // 模板基础配置
|
|
|
|
+ this.panel = this.hiprintTemplate.addPrintPanel({
|
|
|
|
+ height: 140,
|
|
|
|
+ width: 241,
|
|
|
|
+ fontFamily: '黑体',
|
|
|
|
+ fontSize: 13,
|
|
|
|
+ paperFooter: 340,
|
|
|
|
+ paperHeader: 10,
|
|
|
|
+ paperNumberDisabled: true
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ // 获取收款单模板和基础配置
|
|
|
|
+ this.panel.addPrintHtml({
|
|
|
|
+ options: {
|
|
|
|
+ width: 633,
|
|
|
|
+ top: 30,
|
|
|
|
+ left: 20,
|
|
|
|
+ fontFamily: '黑体',
|
|
|
|
+ fontSize: 13,
|
|
|
|
+ content: this.setTableDom(data,html,websitHtml,totalAmount,num,len,i)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ loadingLen--
|
|
|
|
+ } catch (error) {
|
|
|
|
+ console.log(999,error)
|
|
|
|
+ this.$endLoading()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (loadingLen === 0) {
|
|
|
|
+ this.$endLoading()
|
|
|
|
+ }
|
|
|
|
+ console.log(333)
|
|
|
|
+ // 预览打印内容
|
|
|
|
+ this.$refs.preView.show(this.hiprintTemplate, this.panel)
|
|
},
|
|
},
|
|
// 打印模板
|
|
// 打印模板
|
|
setTableDom(data,html,websitHtml,totalAmount,num,length,page) {
|
|
setTableDom(data,html,websitHtml,totalAmount,num,length,page) {
|
|
- console.log(html)
|
|
|
|
return `
|
|
return `
|
|
<div style="font-family:'黑体';font-size: 16px;">
|
|
<div style="font-family:'黑体';font-size: 16px;">
|
|
<div style="display: flex;justify-content: space-between;align-items: center;">
|
|
<div style="display: flex;justify-content: space-between;align-items: center;">
|
|
@@ -308,9 +306,9 @@ export default {
|
|
</tr>
|
|
</tr>
|
|
</table>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
- <div style="display: flex;justify-content: space-between;font-size: 16px;margin: 10px;">
|
|
|
|
- <div>制单人: ${data.createBy}</div>
|
|
|
|
- <div>审核人: ${data.confirmBy}</div>
|
|
|
|
|
|
+ <div style="display: flex;justify-content: space-between;font-size: 16px;margin: 10px 0;">
|
|
|
|
+ <div>制单人: ${data.createBy || ''}</div>
|
|
|
|
+ <div>审核人: ${data.confirmBy || ''}</div>
|
|
<div>业务员: </div>
|
|
<div>业务员: </div>
|
|
<div>签收人: </div>
|
|
<div>签收人: </div>
|
|
</div>
|
|
</div>
|