ec0daf56 by renchao@pashanhoo.com

style:cavans换行

1 parent 4a9aa98e
......@@ -5,7 +5,6 @@
<el-row>
<el-col :span="24" class="btnColRight">
<el-form-item>
{{ isRefresh }}
<el-button type="primary" @click="fetchData">查询</el-button>
<el-button type="primary" @click="openAddDialog">新增</el-button>
</el-form-item>
......@@ -25,150 +24,150 @@
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { getLodop } from "@/utils/LodopFuncs"
import table from "@/utils/mixin/table"
import { datas, sendThis } from "./dymbgl"
import { selectPrintTemplateList, delPrintTemplate } from "@/api/system.js"
export default {
name: "dymbgl",
mixins: [table],
data () {
return {
isDialog: false,
images: require("../../../image/lodapbg.png"),
tableData: {
total: 0,
columns: datas.columns(),
data: []
},
printItem: "",
printList: {
import { mapGetters } from 'vuex'
import { getLodop } from "@/utils/LodopFuncs"
import table from "@/utils/mixin/table"
import { datas, sendThis } from "./dymbgl"
import { selectPrintTemplateList, delPrintTemplate } from "@/api/system.js"
export default {
name: "dymbgl",
mixins: [table],
data () {
return {
isDialog: false,
images: require("../../../image/lodapbg.png"),
tableData: {
total: 0,
columns: datas.columns(),
data: []
},
printItem: "",
printList: {
},
}
},
mounted () {
sendThis(this);
this.fetchData()
},
computed: {
...mapGetters(['isRefresh'])
},
watch: {
isRefresh: {
handler (newVal, oldVal) {
if (newVal) this.fetchData
},
}
}
},
methods: {
fetchData () {
selectPrintTemplateList({ ...this.pageData }).then(res => {
if (res.code == 200) {
let { total, records } = res.result
this.tableData.total = total ? total : 0
this.tableData.data = records ? records : []
}
})
},
//打开新增弹窗
openAddDialog () {
this.$popupDialog("新增打印模板", "system/dymbgl/components/editDialog", {}, "35%")
mounted () {
sendThis(this);
this.fetchData()
},
computed: {
...mapGetters(['isRefresh'])
},
//打开编辑弹窗
openEditDialog (item) {
this.$popupDialog("编辑打印模板", "system/dymbgl/components/editDialog", item, "35%")
watch: {
isRefresh: {
handler (newVal, oldVal) {
if (newVal) this.fetchData
}
}
},
//删除数据
removeTemplate (item) {
this.$confirm("确定要删除吗, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
delPrintTemplate({ bsmTmp: item.bsmTmp }).then((res) => {
methods: {
fetchData () {
selectPrintTemplateList({ ...this.pageData }).then(res => {
if (res.code == 200) {
this.$message.success("删除成功");
this.fetchData();
} else {
this.$message.error(res.message);
let { total, records } = res.result
this.tableData.total = total ? total : 0
this.tableData.data = records ? records : []
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
})
},
//打开新增弹窗
openAddDialog () {
this.$popupDialog("新增打印模板", "system/dymbgl/components/editDialog", {}, "35%")
},
//打开编辑弹窗
openEditDialog (item) {
this.$popupDialog("编辑打印模板", "system/dymbgl/components/editDialog", item, "35%")
},
//删除数据
removeTemplate (item) {
this.$confirm("确定要删除吗, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
delPrintTemplate({ bsmTmp: item.bsmTmp }).then((res) => {
if (res.code == 200) {
this.$message.success("删除成功");
this.fetchData();
} else {
this.$message.error(res.message);
}
});
});
},
//设计打印模板
DesignByPRGData (item) {
let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
LODOP.ADD_PRINT_DATA("ProgramData", item.tmpcontent); //装载模板
//窗口关闭后,回调函数中保存的设计代码
if (LODOP.CVERSION)
CLODOP.On_Return = function (TaskID, printList) {
if (LODOP.CVERSION)
LODOP.On_Return = function (TaskID, Value) {
document.getElementById("S1").value = Value;
};
document.getElementById("S1").value = LODOP.GET_VALUE(
"ProgramData",
0
);
setTimeout(() => {
item.tmpcontent = document.getElementById("S1").value;
}, 1000);
};
LODOP.PRINT_DESIGN(); //打印设计或者打印维护需要放到最后
},
editClick () {
let LODOP = getLodop();
LODOP.SET_PRINT_MODE("PRINT_SETUP_PROGRAM", true);
LODOP.PRINT_INITA(0, 0, 850, 560, "不动产证明");
LODOP.ADD_PRINT_SETUP_BKIMG("<img border='1' src=" + this.images + ">");
LODOP.ADD_PRINT_TEXT(403, 220, 39, 25, this.printList.year); //year
LODOP.ADD_PRINT_TEXT(403, 278, 25, 25, this.printList.month); //month
LODOP.ADD_PRINT_TEXT(403, 309, 25, 25, this.printList.day); //day
LODOP.ADD_PRINT_TEXT(493, 205, 160, 25, this.printList.bh); //编号
// 头部信息
LODOP.ADD_PRINT_TEXT(78, 419, 39, 25, this.printList.xzq); //陕
LODOP.ADD_PRINT_TEXT(78, 466, 39, 25, this.printList.xh); //
LODOP.ADD_PRINT_TEXT(78, 520, 60, 25, this.printList.d); //
LODOP.ADD_PRINT_TEXT(78, 670, 60, 25, this.printList.h); //
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
//设计打印模板
DesignByPRGData (item) {
let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
LODOP.ADD_PRINT_DATA("ProgramData", item.tmpcontent); //装载模板
//窗口关闭后,回调函数中保存的设计代码
if (LODOP.CVERSION)
CLODOP.On_Return = function (TaskID, printList) {
if (LODOP.CVERSION)
LODOP.On_Return = function (TaskID, Value) {
document.getElementById("S1").value = Value;
};
document.getElementById("S1").value = LODOP.GET_VALUE(
"ProgramData",
0
);
setTimeout(() => {
item.tmpcontent = document.getElementById("S1").value;
}, 1000);
};
LODOP.PRINT_DESIGN(); //打印设计或者打印维护需要放到最后
},
editClick () {
let LODOP = getLodop();
LODOP.SET_PRINT_MODE("PRINT_SETUP_PROGRAM", true);
LODOP.PRINT_INITA(0, 0, 850, 560, "不动产证明");
LODOP.ADD_PRINT_SETUP_BKIMG("<img border='1' src=" + this.images + ">");
LODOP.ADD_PRINT_TEXT(403, 220, 39, 25, this.printList.year); //year
LODOP.ADD_PRINT_TEXT(403, 278, 25, 25, this.printList.month); //month
LODOP.ADD_PRINT_TEXT(403, 309, 25, 25, this.printList.day); //day
LODOP.ADD_PRINT_TEXT(493, 205, 160, 25, this.printList.bh); //编号
// 头部信息
LODOP.ADD_PRINT_TEXT(78, 419, 39, 25, this.printList.xzq); //陕
LODOP.ADD_PRINT_TEXT(78, 466, 39, 25, this.printList.xh); //
LODOP.ADD_PRINT_TEXT(78, 520, 60, 25, this.printList.d); //
LODOP.ADD_PRINT_TEXT(78, 670, 60, 25, this.printList.h); //
LODOP.ADD_PRINT_TEXT(119, 555, 190, 25, this.printList.zmsx); //然后多个ADD语句及SET语句
LODOP.ADD_PRINT_TEXT(152, 557, 190, 25, this.printList.qlr); //权利人
LODOP.ADD_PRINT_TEXT(186, 557, 190, 25, this.printList.ywr); //义务人
LODOP.ADD_PRINT_TEXT(219, 557, 190, 25, this.printList.zl); //坐落
LODOP.ADD_PRINT_TEXT(254, 557, 190, 25, this.printList.bdcdyh); //不动产单元号
LODOP.ADD_PRINT_TEXT(318, 557, 190, 67, this.printList.qt); //其他
LODOP.ADD_PRINT_TEXT(426, 557, 190, 67, this.printList.fj); //附记
LODOP.SET_SHOW_MODE("BKIMG_PRINT", 1);
LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW", 1);
//窗口关闭后,回调函数中保存的设计代码
if (LODOP.CVERSION)
CLODOP.On_Return = function (TaskID, printList) {
if (LODOP.CVERSION)
LODOP.On_Return = function (TaskID, Value) {
document.getElementById("S1").value = Value;
};
document.getElementById("S1").value = LODOP.GET_VALUE(
"ProgramData",
0
);
setTimeout(() => {
let printValue = document.getElementById("S1").value;
console.log("value", printValue);
}, 1000);
};
LODOP.PRINT_DESIGN(); //打印设计或者打印维护需要放到最后
LODOP.ADD_PRINT_TEXT(119, 555, 190, 25, this.printList.zmsx); //然后多个ADD语句及SET语句
LODOP.ADD_PRINT_TEXT(152, 557, 190, 25, this.printList.qlr); //权利人
LODOP.ADD_PRINT_TEXT(186, 557, 190, 25, this.printList.ywr); //义务人
LODOP.ADD_PRINT_TEXT(219, 557, 190, 25, this.printList.zl); //坐落
LODOP.ADD_PRINT_TEXT(254, 557, 190, 25, this.printList.bdcdyh); //不动产单元号
LODOP.ADD_PRINT_TEXT(318, 557, 190, 67, this.printList.qt); //其他
LODOP.ADD_PRINT_TEXT(426, 557, 190, 67, this.printList.fj); //附记
LODOP.SET_SHOW_MODE("BKIMG_PRINT", 1);
LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW", 1);
//窗口关闭后,回调函数中保存的设计代码
if (LODOP.CVERSION)
CLODOP.On_Return = function (TaskID, printList) {
if (LODOP.CVERSION)
LODOP.On_Return = function (TaskID, Value) {
document.getElementById("S1").value = Value;
};
document.getElementById("S1").value = LODOP.GET_VALUE(
"ProgramData",
0
);
setTimeout(() => {
let printValue = document.getElementById("S1").value;
console.log("value", printValue);
}, 1000);
};
LODOP.PRINT_DESIGN(); //打印设计或者打印维护需要放到最后
},
},
},
};
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "~@/styles/public.scss";
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-31 16:04:44
* @LastEditTime: 2023-06-20 15:51:11
-->
<template>
<div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="height:720px">
<!-- 表单部分 -->
<el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length > 1">
<el-tab-pane :label="item.qlr + '(' + item.bdcqzh + ')'" :name="item.bsmBdcqz"
<el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length >1">
<el-tab-pane :label="item.qlr + '(' + item.bdcqzh + ')'" :name="item.bdcqzlx"
v-for="(item, index) in headTabBdcqz" :key="index"></el-tab-pane>
</el-tabs>
<div class="no-data" v-if="headTabBdcqz.length == 0">暂无数据</div>
<!-- <img :src="previewImage" class="imgClass"> -->
<canvas ref="canvas" :width="canvasWidth" :height="canvasHeight"></canvas>
<canvas ref="zs" width="860" v-if="activeName==1" height="720"></canvas>
<canvas ref="zm" width="1460" v-else height="800"></canvas>
</div>
</template>
......@@ -30,9 +30,7 @@
data () {
return {
imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'),
canvasWidth: 1018,
canvasHeight: 720,
bdczmSrc: require('@/image/bdcqz/bdczm.jpg'),
loading: false,
//印刷序列号集合
ysxlh: [],
......@@ -79,10 +77,14 @@
getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(res => {
if (res.code == 200) {
if (res.result && res.result.length > 0) {
this.activeName = res.result[0].bsmBdcqz
this.activeName = res.result[0].bdcqzlx
this.bdcqz = res.result[0]
this.headTabBdcqz = res.result
this.drawTextOnImage();
if (this.activeName == 1) {
this.drawTextOnImage()
} else {
this.drawTextzmImage()
}
}
}
this.loading = false
......@@ -91,21 +93,16 @@
//tab表头切换方法
handleClick (e) {
this.bdcqz = this.headTabBdcqz[e.index - 0]
this.activeName = this.headTabBdcqz.bsmBdcqz
// this.getBdcqzPreview();
this.drawTextOnImage()
this.activeName = this.headTabBdcqz.bdcqzlx
if (this.activeName == 1) {
this.drawTextOnImage()
} else {
this.drawTextzmImage()
}
},
// getBdcqzPreview () {
// bdcqzPreview(this.bdcqz).then(res => {
// this.loading = false
// let blob = new Blob([res]);
// let url = window.URL.createObjectURL(blob);
// this.previewImage = url;
// this.drawTextOnImage()
// })
// },
// 不动产证书
drawTextOnImage () {
const canvas = this.$refs.canvas;
const canvas = this.$refs.zs;
const context = canvas.getContext('2d');
const image = new Image();
image.onload = () => {
......@@ -128,7 +125,52 @@
context.fillText(this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk : '', 138, 469);
context.fillText(this.bdcqz.fj ? this.bdcqz.fj : '', 580, 100);
}
image.src = this.imgSrc;
image.src = this.imgSrc
},
// 不动产证明
drawTextzmImage () {
const canvas = this.$refs.zm;
const context = canvas.getContext('2d');
const image = new Image();
image.onload = () => {
context.drawImage(image, 0, 0);
context.font = '18px 楷体';
context.fillStyle = '#000000';
context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125);
context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125);
context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 750, 125);
context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 960, 123);
context.fillText(this.bdcqz.zmqlhsx ? this.bdcqz.zmqlhsx : '', 775, 180);
context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228);
// 义务人
context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275);
context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325);
// bdcdyh
context.fillText(this.bdcqz.bdcdyh ? this.bdcqz.bdcdyh : '', 775, 373);
// qlqtzk
const maxWidth = 280; // 最大宽度限制
let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : [];
lines.forEach((line, index) => {
const y = 415 + (index * 37); // 每行文本的垂直位置
let currentLine = '';
let arr = [];
for (let word of line) {
const testLine = currentLine + word;
const lineWidth = context.measureText(testLine).width;
if (lineWidth <= maxWidth) {
currentLine = testLine;
} else {
arr.push(currentLine);
currentLine = word;
}
}
arr.push(currentLine);
arr.forEach((line, index) => {
context.fillText(line, 775, y + (index * 20)); // 调整行高
});
});
};
image.src = this.bdczmSrc;
}
}
}
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-18 15:01:31
* @LastEditTime: 2023-06-20 11:28:09
*/
import { getWorkFlowImage } from "@/api/workflow/jsydsyqFlow.js";
import { getPrintTemplateByCode } from "@/api/system";
......@@ -106,7 +106,7 @@ export default {
this.$popupDialog("证书预览", "workflow/components/dialog/zsyl", {
bsmSlsq: this.bsmSlsq,
entryType: '1'
}, '65%', true)
}, '1210px', true)
break;
case "B6":
//根据编号获取对应信息
......