Browse Source

feat: 手写签名

old
wangqing 4 years ago
parent
commit
9dd733148a
  1. 9
      src/components/form/SignPad/index.vue
  2. 26
      src/components/generator/config.js
  3. 4
      src/components/render/render.js

9
src/components/form/SignPad/index.vue

@ -2,8 +2,8 @@
<div id="signature-pad" class="signature-pad">
<div class="signature-pad--body" style="min-height: 300px; width: 100%;">
<canvas v-show="!signImageUrl" class="canvasId" style="border: 2px dashed #f7f7f7;" />
<img v-if="signImageUrl" :src="signImageUrl">
</div>
<img v-if="signImageUrl" :src="signImageUrl">
<p class="desc-text">请在上面区域完成签名 然后点击确"确认"按钮</p>
<div v-if="!signImageUrl">
<el-button plain size="mini" type="danger" @click="clear">清除</el-button>
@ -22,6 +22,12 @@ import SignaturePad from 'signature_pad'
export default {
name: 'SignPad',
components: {},
props: {
value: {
type: String,
default: ''
}
},
data() {
return {
signaturePad: null,
@ -94,6 +100,7 @@ export default {
}
this.$api.post('/project/file/upload/77f1648542af4caf98deb8345a3d0406', param, config).then(res => {
this.signImageUrl = res.data
this.$emit('input', res.data)
})
},
reSign() {

26
src/components/generator/config.js

@ -532,7 +532,7 @@ export const imageComponents = [
tagIcon: 'image-carousel',
layout: 'colFormItem',
span: 24,
required: true,
required: false,
regList: [],
changeTag: true
},
@ -559,7 +559,7 @@ export const imageComponents = [
tagIcon: 'image-select',
layout: 'colFormItem',
span: 24,
required: true,
required: false,
regList: [],
changeTag: true
},
@ -587,6 +587,28 @@ export const assistComponents = [
tagIcon: 'text',
layout: 'colFormItem',
span: 24,
required: false,
regList: [],
changeTag: false
},
color: '',
textAlign: 'left',
style: {width: '100%'}
},
{
typeId: 'SIGN_PAD',
__config__: {
label: '手写签名',
defaultValue: '手写签名',
showLabel: true,
showDefaultValue: true,
showRequired: true,
showClearable: false,
showRegList: false,
tag: 'sign-pad',
tagIcon: 'text',
layout: 'colFormItem',
span: 24,
required: true,
regList: [],
changeTag: false

4
src/components/render/render.js

@ -1,4 +1,5 @@
import {deepClone} from '@/utils/index'
import SignPad from '@/components/form/SignPad/index'
const componentChild = {}
/**
@ -117,6 +118,9 @@ function makeDataObject() {
}
export default {
components:{
SignPad
},
props: {
conf: {
type: Object,

Loading…
Cancel
Save