pengyh 1 anno fa
parent
commit
8ae9b4ddfa

+ 35 - 15
src/views/auxiliaryFittings/salesManagement/attachmentSalesOrder/index.vue

@@ -1,6 +1,6 @@
 <template>
 	<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"
 		  :operation="operation" :exportList="exportList">
 		  
@@ -77,7 +77,20 @@ export default {
     moreParameters() {
       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: {
 	// 切换状态
@@ -154,25 +167,28 @@ export default {
 	// 点击打印
 	async toPrint(row, type) {
 		this.getWebsit()
+		let pagingData = []
+		const { data } = await getDetail({
+		  salesId: row.salesId
+		})
+		pagingData = this.filterArr(data.items,4)
 	  // 初始化模板,否则生成的模板叠加
 	  hiprint.init()
 	  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
+	  console.log(len,pagingData)
 	  // 使用 i-- 提升for效率
 	  this.$startLoading()
-	  for (let i = len; i > 0; i--) {
+	  for (let i = 0; i < len; i++) {
 	    try {
-	      const { data } = await getDetail({
-	        salesId: params[i - 1].salesId || params[i - 1]
-	      })
 		  let websitHtml = ''
 		  let html = ''
 		  let num = 0
 		  let totalAmount = 0
-		  data.items.forEach(item=>{
+		  pagingData[i].forEach(item=>{
 			totalAmount = (Number(item.saleAmount)*100 + totalAmount*100)/100
 			num += Number(item.salesQty)
 		  	html += `
@@ -188,9 +204,9 @@ export default {
 		  		</tr>
 		  	`
 		  })
-		  this.websitList.forEach(item=>{
+		  this.websitList.slice(0,5).forEach(item=>{
 			  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.websitPhone}</div>
 					<div>地址: ${item.address}</div>
@@ -216,13 +232,13 @@ export default {
 	          left: 20,
 	          fontFamily: '黑体',
 	          fontSize: 13,
-	          content: this.setTableDom(data,html,websitHtml,totalAmount,num)
+	          content: this.setTableDom(data,html,websitHtml,totalAmount,num,len,i)
 	        }
 	      })
 	
 	      loadingLen--
 	    } catch (error) {
-	      console.log(999)
+	      console.log(999,error)
 	      this.$endLoading()
 	      return
 	    }
@@ -235,11 +251,15 @@ export default {
 	  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)
 	  return `
 	   <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="width: 28%;"></div>
 			<div>单据日期: ${data.createTime}</div>

+ 34 - 14
src/views/auxiliaryFittings/salesManagement/auxiliarySalesOrder/index.vue

@@ -77,7 +77,20 @@ export default {
     moreParameters() {
       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: {
 	// 切换状态
@@ -154,25 +167,28 @@ export default {
 	// 点击打印
 	async toPrint(row, type) {
 		this.getWebsit()
+		let pagingData = []
+		const { data } = await getDetail({
+		  salesId: row.salesId
+		})
+		pagingData = this.filterArr(data.items,4)
 	  // 初始化模板,否则生成的模板叠加
 	  hiprint.init()
 	  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
+	  console.log(len,pagingData)
 	  // 使用 i-- 提升for效率
 	  this.$startLoading()
-	  for (let i = len; i > 0; i--) {
+	  for (let i = 0; i < len; i++) {
 	    try {
-	      const { data } = await getDetail({
-	        salesId: params[i - 1].salesId || params[i - 1]
-	      })
 		  let websitHtml = ''
 		  let html = ''
 		  let num = 0
 		  let totalAmount = 0
-		  data.items.forEach(item=>{
+		  pagingData[i].forEach(item=>{
 			totalAmount = (Number(item.saleAmount)*100 + totalAmount*100)/100
 			num += Number(item.salesQty)
 		  	html += `
@@ -188,9 +204,9 @@ export default {
 		  		</tr>
 		  	`
 		  })
-		  this.websitList.forEach(item=>{
+		  this.websitList.slice(0,5).forEach(item=>{
 			  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.websitPhone}</div>
 					<div>地址: ${item.address}</div>
@@ -216,13 +232,13 @@ export default {
 	          left: 20,
 	          fontFamily: '黑体',
 	          fontSize: 13,
-	          content: this.setTableDom(data,html,websitHtml,totalAmount,num)
+	          content: this.setTableDom(data,html,websitHtml,totalAmount,num,len,i)
 	        }
 	      })
 	
 	      loadingLen--
 	    } catch (error) {
-	      console.log(999)
+	      console.log(999,error)
 	      this.$endLoading()
 	      return
 	    }
@@ -235,11 +251,15 @@ export default {
 	  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)
 	  return `
 	   <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="width: 28%;"></div>
 			<div>单据日期: ${data.createTime}</div>