作者:志强旻茜青民 | 来源:互联网 | 2023-09-05 11:58
vue-esign签字板的使用步骤小demo-问题描述在我们开发项目中,特别是流程审批类的项目,最后一步会提交审核,审核员看完相应信息以后,没问题就会签字通过审批。所以就要用到本
问题描述
在我们开发项目中,特别是流程审批类的项目,最后一步会提交审核,审核员看完相应信息以后,没问题就会签字通过审批。所以就要用到本篇文章中的vue-esign签字技术。
vue-esign技术是基于html5代新特性,canvas技术进行的组件化封装,在那个页面需要用到签字技术,只需要引入vue-esign组件即可。这个组件其实也是可以理解为是一个插件。本篇文章记录一下这个插件的用法,忘了的时候回来看看。我们先看一下最终的demo效果图
vue-esign效果图
右边控制台输入的就是生成的签名画布图片转成base64格式的图片信息
使用步骤
第一步,下载并注册vue-esign插件
下载:
cnpm i vue-esign --save
main.js中引入并注册这个插件:
import vueEsign from 'vue-esign'
Vue.use(vueEsign);
第二步,使用vue-esign插件
<div id="app">
<el-dialog title="签字" :visible.sync="dialogVisible" width="800px" append-to-body>
<vue-esign
ref="esign"
class="mySign"
:width="800"
:height="300"
:isCrop="isCrop"
:lineWidth="lineWidth"
:lineColor="lineColor"
:bgColor.sync="bgColor"
/>
<span slot="footer" class="dialog-footer">
<el-button @click="handleGenerate" type="primary">生成签字图片el-button>
<el-button @click="handleReset">清空画板el-button>
<el-button @click="dialogVisible = false">取消el-button>
span>
el-dialog>
<div class="checkMan">
<h2>审查人h2>
<el-button plain @click="dialogVisible = true" type="primary">点击签字el-button>
<img :src="resultImg" alt="" />
div>
div>
<script>
export default {
name: "App",
data() {
return {
dialogVisible: false,
lineWidth: 6,
lineColor: "#000000",
bgColor: "",
resultImg: "",
isCrop: false,
};
},
methods: {
handleReset() {
this.$refs.esign.reset();
},
handleGenerate() {
this.$refs.esign
.generate()
.then((res) => {
this.resultImg = res;
})
.catch((err) => {
this.$message({
type: "warning",
message: "请签名后再生成签字图片",
});
});
setTimeout(() => {
console.log('我是签字后的base64图片',this.resultImg);
}, 200);
this.dialogVisible = false;
},
},
};
script>
<style lang="less" scoped>
#app {
width: 100%;
height: 100%;
padding: 60px;
.checkMan {
width: 400px;
height: 360px;
text-align: center;
border: 1px solid #e9e9e9;
padding-top: 40px;
h2 {
margin-bottom: 20px;
}
.el-button {
margin-bottom: 20px;
}
img {
width: 100%;
height: 200px;
}
}
}
/deep/ .el-dialog__body {
// 设置一下签字区域的虚线边框
.mySign {
border: 1px dashed #000;
}
}
style>
其实用法也很简单,细节的注释写在代码里面了。记录一下
最后附上官方的npmjs文档链接讲解,传送门如下:
www.npmjs.com/package/vue…