diff --git a/vue/src/components/SignautreBoard/index.js b/vue/src/components/SignautreBoard/index.js new file mode 100644 index 0000000..af2a297 --- /dev/null +++ b/vue/src/components/SignautreBoard/index.js @@ -0,0 +1,30 @@ +import Vue from 'vue' +import Main from './main.vue' + +const Constructor = Vue.extend(Main) + +let instance + +const signature = function ({image, lineWidth = 6, lineColor = '#000000', onConfirm}) { + if (instance) instance.close() + else { + instance = new Constructor().$mount() + document.body.appendChild(instance.$el) + } + instance.image = image + instance.lineWidth = lineWidth + instance.lineColor = lineColor + instance.onConfirm = onConfirm + instance.init() + instance.visible = true + return instance +} + +signature.close = function () { + if (instance) { + instance.close() + instance = null + } +} + +export default signature diff --git a/vue/src/components/SignautreBoard/main.vue b/vue/src/components/SignautreBoard/main.vue new file mode 100644 index 0000000..9f87333 --- /dev/null +++ b/vue/src/components/SignautreBoard/main.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/vue/src/main.js b/vue/src/main.js index 441d685..8a9cf6d 100644 --- a/vue/src/main.js +++ b/vue/src/main.js @@ -14,6 +14,7 @@ import Guide from '@/components/Guide' import ImageViewer from '@/components/ImageViewer' import Message from '@/components/Message' import PuzzleVerify from '@/components/PuzzleVerify' +import Signature from '@/components/SignautreBoard' Vue.use(Element) @@ -31,6 +32,7 @@ Vue.prototype.$guide = Guide Vue.prototype.$image = ImageViewer Vue.prototype.$message = Message Vue.prototype.$puzzleVerify = PuzzleVerify +Vue.prototype.$signature = Signature Vue.config.productionTip = false diff --git a/vue/src/router/constant/modules/example.js b/vue/src/router/constant/modules/example.js index d11383e..cbb696c 100644 --- a/vue/src/router/constant/modules/example.js +++ b/vue/src/router/constant/modules/example.js @@ -48,28 +48,34 @@ const router = { meta: {title: '组件'}, children: [ { - path: 'upload', - name: 'upload', - component: () => import('@/views/example/components/upload'), + path: 'uploadExample', + name: 'uploadExample', + component: () => import('@/views/example/components/uploadExample'), meta: {title: '上传文件'} }, { - path: 'picture-preview', - name: 'picturePreview', - component: () => import('@/views/example/components/picturePreview'), + path: 'picturePreviewExample', + name: 'picturePreviewExample', + component: () => import('@/views/example/components/picturePreviewExample'), meta: {title: '图片预览'} }, { - path: 'skeleton', - name: 'skeleton', - component: () => import('@/views/example/components/skeleton'), + path: 'skeletonExample', + name: 'skeletonExample', + component: () => import('@/views/example/components/skeletonExample'), meta: {title: '骨架屏'} }, { - path: 'ripple', - name: 'ripple', - component: () => import('@/views/example/components/ripple'), + path: 'rippleExample', + name: 'rippleExample', + component: () => import('@/views/example/components/rippleExample'), meta: {title: '波纹'} + }, + { + path: 'signatureExample', + name: 'signatureExample', + component: () => import('@/views/example/components/signatureExample'), + meta: {title: '手写签名'} } ] }, diff --git a/vue/src/views/app/login.vue b/vue/src/views/app/login.vue index c6740e5..90e7829 100644 --- a/vue/src/views/app/login.vue +++ b/vue/src/views/app/login.vue @@ -12,14 +12,14 @@ - - - + + + - - + + 登 录
diff --git a/vue/src/views/app/register.vue b/vue/src/views/app/register.vue index 75e4b51..4a9a9e2 100644 --- a/vue/src/views/app/register.vue +++ b/vue/src/views/app/register.vue @@ -12,10 +12,16 @@
- - - - + + + + diff --git a/vue/src/views/example/components/picturePreview/components/PhotoSwipe.vue b/vue/src/views/example/components/picturePreviewExample/PhotoSwipe.vue similarity index 100% rename from vue/src/views/example/components/picturePreview/components/PhotoSwipe.vue rename to vue/src/views/example/components/picturePreviewExample/PhotoSwipe.vue diff --git a/vue/src/views/example/components/picturePreview/index.vue b/vue/src/views/example/components/picturePreviewExample/index.vue similarity index 96% rename from vue/src/views/example/components/picturePreview/index.vue rename to vue/src/views/example/components/picturePreviewExample/index.vue index 582a4aa..00be102 100644 --- a/vue/src/views/example/components/picturePreview/index.vue +++ b/vue/src/views/example/components/picturePreviewExample/index.vue @@ -25,14 +25,14 @@ diff --git a/vue/src/views/example/components/signatureExample.vue b/vue/src/views/example/components/signatureExample.vue new file mode 100644 index 0000000..717e441 --- /dev/null +++ b/vue/src/views/example/components/signatureExample.vue @@ -0,0 +1,29 @@ + + + diff --git a/vue/src/views/example/components/skeleton.vue b/vue/src/views/example/components/skeletonExample.vue similarity index 97% rename from vue/src/views/example/components/skeleton.vue rename to vue/src/views/example/components/skeletonExample.vue index 093a99c..e6e0671 100644 --- a/vue/src/views/example/components/skeleton.vue +++ b/vue/src/views/example/components/skeletonExample.vue @@ -26,7 +26,7 @@ import {skeletonAnimations, skeletonTypes} from '@/components/Skeleton/constant' export default { - name: "skeleton", + name: "skeletonExample", components: {QSkeleton}, data() { return { diff --git a/vue/src/views/example/components/upload.vue b/vue/src/views/example/components/uploadExample.vue similarity index 97% rename from vue/src/views/example/components/upload.vue rename to vue/src/views/example/components/uploadExample.vue index d6ddcbb..52dcd10 100644 --- a/vue/src/views/example/components/upload.vue +++ b/vue/src/views/example/components/uploadExample.vue @@ -12,7 +12,7 @@ import request from '@/config/request' export default { - name: "upload", + name: "uploadExample", components: {UploadFile}, methods: { change(e) {