证书处理完毕

lijinlong
许宏杰 2 years ago
parent ab47afa61c
commit 2502805e06

@ -45,6 +45,7 @@
"file-saver": "2.0.5", "file-saver": "2.0.5",
"fuse.js": "6.4.3", "fuse.js": "6.4.3",
"highlight.js": "9.18.5", "highlight.js": "9.18.5",
"html2canvas": "^1.4.1",
"js-beautify": "1.13.0", "js-beautify": "1.13.0",
"js-cookie": "3.0.1", "js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1", "jsencrypt": "3.0.0-rc.1",

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

@ -197,3 +197,51 @@
margin-top: 30px; margin-top: 30px;
} }
} }
//
.zs-box {
height: 450px;
width: 300px;
position: relative;
background: url("~@/assets/images/zs.jpg");
background-size: 100% 100%;
.zs-z {
position: absolute;
bottom: 10%;
right: 10%;
border: 1px solid red;
height: 50px;
width: 50px;
border-radius: 50%;
overflow: hidden;
background: url("~@/assets/images/z.png");
background-size: 100% 100%;
}
.top-text {
position: absolute;
top: 30%;
left: 50%;
font-size: 14px;
transform: translateX(-50%);
z-index: 10;
span {
display: inline-block;
width: 60px;
text-align: center;
border-bottom: 1px solid #333;
}
}
.bottom-text {
position: absolute;
bottom: 10%;
right: 10%;
z-index: 10;
.lable-value {
margin-bottom: 3px;
font-size: 13px;
display: flex;
align-items: center;
justify-content: space-between;
}
}
}

@ -194,7 +194,38 @@
<img src="@/assets/images/huodong.png" alt="" /> <img src="@/assets/images/huodong.png" alt="" />
<span>电子证书</span> <span>电子证书</span>
</div> </div>
<div class="info"></div> <div class="info zs-box" ref="zs">
<div class="top-text">
<span>{{ form.userName }}</span> 先生/女士
<p>
您在苏州工业园区累计志愿服务0小时感谢您的无私奉献特发此证以兹鼓励
</p>
</div>
<div class="bottom-text">
<div class="lable-value">
<div class="lable">签发单位</div>
<div class="value">苏州工业园区宣传和统战部</div>
</div>
<div class="lable-value">
<div class="lable"></div>
<div class="value">苏州工业园区新时代文明实践中心</div>
</div>
<div class="lable-value">
<div class="lable"></div>
<div class="value">
{{ $moment().format("YYYY年MM月DD日") }}
</div>
</div>
</div>
<div class="zs-z"></div>
</div>
<el-button
type="primary"
size="small"
style="margin-top: 10px"
@click="downloadContentAsImage()"
>下载电子证书</el-button
>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
@ -207,6 +238,7 @@ import {
dsbrecordsInfo, dsbrecordsInfo,
issue, issue,
} from "@/api/volunteer/gxhzs/hdzsff/index.js"; } from "@/api/volunteer/gxhzs/hdzsff/index.js";
import html2canvas from "html2canvas";
export default { export default {
data() { data() {
return { return {
@ -244,6 +276,23 @@ export default {
}); });
}, },
methods: { methods: {
/**下载电子证书 */
downloadContentAsImage() {
const content = this.$refs.zs; // <div>DOM
// Canvas<div>
const canvas = document.createElement("canvas");
canvas.width = content.offsetWidth;
canvas.height = content.offsetHeight;
const context = canvas.getContext("2d");
// 使Canvas<div>
html2canvas(content).then((canvas) => {
// CanvasDataURL
const dataURL = canvas.toDataURL("image/png");
// 使FileSaver.jsDataURL
saveAs(dataURL, "download.png");
});
},
/**搜索 */ /**搜索 */
handleSearch(keyWord) { handleSearch(keyWord) {
this.queryParams = { this.queryParams = {

@ -101,7 +101,38 @@
<img src="@/assets/images/huodong.png" alt="" /> <img src="@/assets/images/huodong.png" alt="" />
<span>电子证书</span> <span>电子证书</span>
</div> </div>
<div class="info"></div> <div class="info zs-box" ref="zs">
<div class="top-text">
<span>{{ form.userName }}</span> 先生/女士
<p>
您在苏州工业园区累计志愿服务0小时感谢您的无私奉献特发此证以兹鼓励
</p>
</div>
<div class="bottom-text">
<div class="lable-value">
<div class="lable">签发单位</div>
<div class="value">苏州工业园区宣传和统战部</div>
</div>
<div class="lable-value">
<div class="lable"></div>
<div class="value">苏州工业园区新时代文明实践中心</div>
</div>
<div class="lable-value">
<div class="lable"></div>
<div class="value">
{{ $moment().format("YYYY年MM月DD日") }}
</div>
</div>
</div>
<div class="zs-z"></div>
</div>
<el-button
type="primary"
size="small"
style="margin-top: 10px"
@click="downloadContentAsImage()"
>下载电子证书</el-button
>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
@ -109,6 +140,7 @@
</template> </template>
<script> <script>
import html2canvas from "html2canvas";
import { import {
dsbrecordsList, dsbrecordsList,
dsbrecordsInfo, dsbrecordsInfo,
@ -151,6 +183,23 @@ export default {
}); });
}, },
methods: { methods: {
/**下载电子证书 */
downloadContentAsImage() {
const content = this.$refs.zs; // <div>DOM
// Canvas<div>
const canvas = document.createElement("canvas");
canvas.width = content.offsetWidth;
canvas.height = content.offsetHeight;
const context = canvas.getContext("2d");
// 使Canvas<div>
html2canvas(content).then((canvas) => {
// CanvasDataURL
const dataURL = canvas.toDataURL("image/png");
// 使FileSaver.jsDataURL
saveAs(dataURL, "download.png");
});
},
isLastRow(index) { isLastRow(index) {
const rowCount = Math.ceil(this.certificatesList.length / 5); const rowCount = Math.ceil(this.certificatesList.length / 5);
const row = Math.floor(index / 5); const row = Math.floor(index / 5);

Loading…
Cancel
Save