@@ -618,9 +571,11 @@ import {
applyRemove,
applySend,
applySendAll,
+ getCheckInfo
} from "@/api/lease/apply";
import vueEasyPrint from "vue-easy-print";
+import printJS from 'print-js';
export default {
name: "Home",
@@ -682,6 +637,7 @@ export default {
open: false,
printData: {},
printTableData: [],
+ checkDataInfo: {},
// 供应商
supplierStr: "",
@@ -809,11 +765,26 @@ export default {
});
},
//查看验收单
- handlePrint(row) {
- // this.query.taskId = row.taskId
- // this.getPrintTable(row.taskId)
+ async handlePrint(row) {
+ const res = await getCheckInfo({id:row.id});
+ this.idTemp = row.id;
+ this.checkDataInfo = res.data.leaseApplyInfo;
+
+ this.printTableData = res.data.leaseOutVoList;
+ setTimeout(() => {
+ this.chapter('检验专用章', '机具设备分公司')
+ }, 200);
this.openPrint = true;
- this.title = "机具设备到货验收单";
+ this.title = "出库检验单";
+ },
+
+ /** 导出按钮操作 */
+ handleExportCheck() {
+ this.download(
+ "/material/lease_apply_info/exportInfo",
+ { id:this.idTemp },
+ `出库检验单_${new Date().getTime()}.xlsx`
+ );
},
//打开领料单
@@ -822,10 +793,23 @@ export default {
this.open = true;
var ids = row.id;
const res = await getApplyInfo(ids);
- console.log(res);
this.leaseApplyDetails = res.data.leaseApplyDetailsList;
this.leaseApplyData = res.data.leaseApplyInfo;
- console.log(this.leaseApplyData);
+ },
+
+ //出库检验单打印
+ printCheck() {
+ printJS({
+ printable: 'checkId',
+ type: 'html',
+ targetStyles: ['*'],
+ // 其他配置选项
+ });
+ },
+
+ // 关闭弹窗并刷新页面
+ closeDialogAndRefresh() {
+ this.openPrint = false;
},
codeInfo(row) {
@@ -902,6 +886,82 @@ export default {
});
}
},
+
+ chapter(text, companyName) {
+ let canvas = document.getElementById("canvas");
+ let context = canvas.getContext("2d");
+ canvas.width = canvas.width;
+ context.height = canvas.height;
+ // // 清除画布内容
+ // context.clearRect(0, 0, canvas.width, canvas.height);
+ //let text = "XXX专用章";
+ //let companyName = "XXX科技股份有限公司";
+
+ // 绘制印章边框
+ let width = canvas.width / 2;
+ let height = canvas.height / 2;
+ context.lineWidth = 3;
+ context.strokeStyle = "#f00";
+ context.beginPath();
+ context.arc(width, height, 80, 0, Math.PI * 2); //宽、高、半径
+ context.stroke();
+
+ //画五角星
+ this.create5star(context, width, height, 20, "#f00", 0);
+
+ // 绘制印章名称
+ context.font = "18px 宋体";
+ context.textBaseline = "middle"; //设置文本的垂直对齐方式
+ context.textAlign = "center"; //设置文本的水平对对齐方式
+ context.lineWidth = 1;
+ context.strokeStyle = "#ff2f2f";
+ context.strokeText(text, width, height + 50);
+
+ // 绘制印章单位
+ context.translate(width, height); // 平移到此位置,
+ context.font = "16px 宋体";
+ let count = companyName.length; // 字数
+ let angle = (4 * Math.PI) / (3 * (count - 1)); // 字间角度
+ let chars = companyName.split("");
+ let c;
+ for (let i = 0; i < count; i++) {
+ c = chars[i]; // 需要绘制的字符
+ if (i == 0) {
+ context.rotate((5 * Math.PI) / 6);
+ } else {
+ context.rotate(angle);
+ }
+
+ context.save();
+ context.translate(65, 0); // 平移到此位置,此时字和x轴垂直,公司名称和最外圈的距离
+ context.rotate(Math.PI / 2); // 旋转90度,让字平行于x轴
+ context.strokeStyle = "#ff5050"; // 设置印章单位字体颜色为较浅的红色
+ context.strokeText(c, 0, 0); // 此点为字的中心点
+ context.restore();
+ }
+ },
+
+ //绘制五角星
+ create5star(context, sx, sy, radius, color, rotato) {
+ context.save();
+ context.fillStyle = color;
+ context.translate(sx, sy); //移动坐标原点
+ context.rotate(Math.PI + rotato); //旋转
+ context.beginPath(); //创建路径
+ // let x = Math.sin(0);
+ // let y = Math.cos(0);
+ let dig = (Math.PI / 5) * 4;
+ for (let i = 0; i < 5; i++) {
+ //画五角星的五条边
+ let x = Math.sin(i * dig);
+ let y = Math.cos(i * dig);
+ context.lineTo(x * radius, y * radius);
+ }
+ context.closePath();
+ context.stroke();
+ context.fill();
+ context.restore();
+ }
},
watch: {
diff --git a/src/views/material/lease/outBound/index.vue b/src/views/material/lease/outBound/index.vue
index b822277f..d9919479 100644
--- a/src/views/material/lease/outBound/index.vue
+++ b/src/views/material/lease/outBound/index.vue
@@ -486,10 +486,10 @@
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -1333,7 +1333,7 @@ export default {
context.strokeText(c, 0, 0); // 此点为字的中心点
context.restore();
}
- },
+ },
//绘制五角星
create5star(context, sx, sy, radius, color, rotato) {