|
@@ -1,6 +1,6 @@
|
|
<template>
|
|
<template>
|
|
<div class="page">
|
|
<div class="page">
|
|
- <template-page v-show="!formDialog" ref="pageRef" :get-list="getList" :table-attributes="tableAttributes" :table-events="tableEvents" :operationColumnWidth="110"
|
|
|
|
|
|
+ <template-page v-show="!formDialog" ref="pageRef" :get-list="getList" :table-attributes="tableAttributes" :table-events="tableEvents" :operationColumnWidth="140"
|
|
:options-evens-group="optionsEvensGroup" :moreParameters="moreParameters" :column-parsing="columnParsing"
|
|
:options-evens-group="optionsEvensGroup" :moreParameters="moreParameters" :column-parsing="columnParsing"
|
|
:operation="operation" :exportList="exportList">
|
|
:operation="operation" :exportList="exportList">
|
|
|
|
|
|
@@ -77,7 +77,20 @@ export default {
|
|
moreParameters() {
|
|
moreParameters() {
|
|
return []
|
|
return []
|
|
},
|
|
},
|
|
- formItems() {}
|
|
|
|
|
|
+ formItems() {},
|
|
|
|
+ filterArr(){
|
|
|
|
+ return function (arr, size) {
|
|
|
|
+ //判断如果不是数组(就没有length),或者size没有传值,size小于1,就返回空数组
|
|
|
|
+ if (!arr.length || !size || size < 1) return []
|
|
|
|
+ let [start, end, result] = [null, null, []]
|
|
|
|
+ for (let i = 0; i < Math.ceil(arr.length / size); i++) {
|
|
|
|
+ start = i * size
|
|
|
|
+ end = start + size
|
|
|
|
+ result.push(arr.slice(start, end))
|
|
|
|
+ }
|
|
|
|
+ return result
|
|
|
|
+ }
|
|
|
|
+ }
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
// 切换状态
|
|
// 切换状态
|
|
@@ -154,25 +167,28 @@ export default {
|
|
// 点击打印
|
|
// 点击打印
|
|
async toPrint(row, type) {
|
|
async toPrint(row, type) {
|
|
this.getWebsit()
|
|
this.getWebsit()
|
|
|
|
+ let pagingData = []
|
|
|
|
+ const { data } = await getDetail({
|
|
|
|
+ salesId: row.salesId
|
|
|
|
+ })
|
|
|
|
+ pagingData = this.filterArr(data.items,4)
|
|
// 初始化模板,否则生成的模板叠加
|
|
// 初始化模板,否则生成的模板叠加
|
|
hiprint.init()
|
|
hiprint.init()
|
|
this.hiprintTemplate = new hiprint.PrintTemplate()
|
|
this.hiprintTemplate = new hiprint.PrintTemplate()
|
|
// 兼容批量打印
|
|
// 兼容批量打印
|
|
- let params = !type ? this.recordSelected : [row.salesId]
|
|
|
|
- let len = params.length
|
|
|
|
|
|
+ // let params = !type ? this.filterArr() : [row.salesId]
|
|
|
|
+ let len = pagingData.length
|
|
let loadingLen = len
|
|
let loadingLen = len
|
|
|
|
+ console.log(len,pagingData)
|
|
// 使用 i-- 提升for效率
|
|
// 使用 i-- 提升for效率
|
|
this.$startLoading()
|
|
this.$startLoading()
|
|
- for (let i = len; i > 0; i--) {
|
|
|
|
|
|
+ for (let i = 0; i < len; i++) {
|
|
try {
|
|
try {
|
|
- const { data } = await getDetail({
|
|
|
|
- salesId: params[i - 1].salesId || params[i - 1]
|
|
|
|
- })
|
|
|
|
let websitHtml = ''
|
|
let websitHtml = ''
|
|
let html = ''
|
|
let html = ''
|
|
let num = 0
|
|
let num = 0
|
|
let totalAmount = 0
|
|
let totalAmount = 0
|
|
- data.items.forEach(item=>{
|
|
|
|
|
|
+ pagingData[i].forEach(item=>{
|
|
totalAmount = (Number(item.saleAmount)*100 + totalAmount*100)/100
|
|
totalAmount = (Number(item.saleAmount)*100 + totalAmount*100)/100
|
|
num += Number(item.salesQty)
|
|
num += Number(item.salesQty)
|
|
html += `
|
|
html += `
|
|
@@ -188,9 +204,9 @@ export default {
|
|
</tr>
|
|
</tr>
|
|
`
|
|
`
|
|
})
|
|
})
|
|
- this.websitList.forEach(item=>{
|
|
|
|
|
|
+ this.websitList.slice(0,5).forEach(item=>{
|
|
websitHtml += `
|
|
websitHtml += `
|
|
- <div style="display: flex;font-size: 16px;margin: 10px;">
|
|
|
|
|
|
+ <div style="display: flex;font-size: 14px;margin-bottom: 6px;">
|
|
<div style="margin-right: 10px;">${item.name}</div>
|
|
<div style="margin-right: 10px;">${item.name}</div>
|
|
<div style="margin-right: 10px;">${item.websitPhone}</div>
|
|
<div style="margin-right: 10px;">${item.websitPhone}</div>
|
|
<div>地址: ${item.address}</div>
|
|
<div>地址: ${item.address}</div>
|
|
@@ -216,13 +232,13 @@ export default {
|
|
left: 20,
|
|
left: 20,
|
|
fontFamily: '黑体',
|
|
fontFamily: '黑体',
|
|
fontSize: 13,
|
|
fontSize: 13,
|
|
- content: this.setTableDom(data,html,websitHtml,totalAmount,num)
|
|
|
|
|
|
+ content: this.setTableDom(data,html,websitHtml,totalAmount,num,len,i)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
|
|
loadingLen--
|
|
loadingLen--
|
|
} catch (error) {
|
|
} catch (error) {
|
|
- console.log(999)
|
|
|
|
|
|
+ console.log(999,error)
|
|
this.$endLoading()
|
|
this.$endLoading()
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -235,11 +251,15 @@ export default {
|
|
this.$refs.preView.show(this.hiprintTemplate, this.panel)
|
|
this.$refs.preView.show(this.hiprintTemplate, this.panel)
|
|
},
|
|
},
|
|
// 打印模板
|
|
// 打印模板
|
|
- setTableDom(data,html,websitHtml,totalAmount,num) {
|
|
|
|
|
|
+ setTableDom(data,html,websitHtml,totalAmount,num,length,page) {
|
|
console.log(html)
|
|
console.log(html)
|
|
return `
|
|
return `
|
|
<div style="font-family:'黑体';font-size: 16px;">
|
|
<div style="font-family:'黑体';font-size: 16px;">
|
|
- <h1 style="text-align:center;margin: 10px 0;">${data.websitName}销售单</h1>
|
|
|
|
|
|
+ <div style="display: flex;justify-content: space-between;align-items: center;">
|
|
|
|
+ <div style="width: 28%;"></div>
|
|
|
|
+ <h1 style="text-align:center;margin: 10px 0;">${data.websitName}销售单</h1>
|
|
|
|
+ <div>共 ${length}页 第 ${page+1} 页</div>
|
|
|
|
+ </div>
|
|
<div style="display: flex;justify-content: space-between;">
|
|
<div style="display: flex;justify-content: space-between;">
|
|
<div style="width: 28%;"></div>
|
|
<div style="width: 28%;"></div>
|
|
<div>单据日期: ${data.createTime}</div>
|
|
<div>单据日期: ${data.createTime}</div>
|