实现安装协议信息填写后去签名页面,分步提交

This commit is contained in:
WindowBird 2025-09-11 18:01:31 +08:00
parent ef8c6d1705
commit b5ef305654
2 changed files with 78 additions and 56 deletions

View File

@ -46,9 +46,9 @@
</uv-button> </uv-button>
<uv-button <uv-button
customStyle="margin-top: 10px" customStyle="margin-top: 10px"
text="已阅读协议并去签名" text="确认协议并提交"
type="primary" type="primary"
@click="goToSignature" @click="submit"
> >
</uv-button> </uv-button>
<!-- <uv-button--> <!-- <uv-button-->
@ -148,9 +148,7 @@ export default {
}, },
}) })
}, },
goToSignature() {
uni.navigateTo(/pages/)
},
handleUploadSuccess(result) { handleUploadSuccess(result) {
console.log('图片上传成功:', result.url) console.log('图片上传成功:', result.url)
this.userInfo.businessLicenseUrl = result.url this.userInfo.businessLicenseUrl = result.url
@ -170,13 +168,13 @@ export default {
}) })
return return
} }
if (this.userInfo.signatureUrl === '') { // if (this.userInfo.signatureUrl === '') {
uni.showToast({ // uni.showToast({
icon: 'error', // icon: 'error',
title: '请确认签名', // title: '',
}) // })
return // return
} // }
// catchthentrue // catchthentrue
this.$refs.form this.$refs.form
@ -188,6 +186,9 @@ export default {
}) })
// //
console.log('表单数据:', this.userInfo) console.log('表单数据:', this.userInfo)
uni.navigateTo({
url: '/pages/signature/signature',
})
}) })
.catch(errors => { .catch(errors => {
uni.showToast({ uni.showToast({
@ -207,39 +208,39 @@ export default {
hideKeyboard() { hideKeyboard() {
uni.hideKeyboard() uni.hideKeyboard()
}, },
async onClick(type) { // async onClick(type) {
if (type === 'openSmooth') { // if (type === 'openSmooth') {
this.openSmooth = !this.openSmooth // this.openSmooth = !this.openSmooth
return // return
} // }
if (type === 'save') { // if (type === 'save') {
await this.$refs.signatureRef.canvasToTempFilePath({ // await this.$refs.signatureRef.canvasToTempFilePath({
success: async res => { // success: async res => {
// // //
console.log('签名返回是否为空', res.isEmpty) // console.log('', res.isEmpty)
if (res.isEmpty) { // if (res.isEmpty) {
this.userInfo.signatureUrl = '' // this.userInfo.signatureUrl = ''
return // return
} // }
//
// // //
// H5 base64 // // H5 base64
this.tempUrl = res.tempFilePath // this.tempUrl = res.tempFilePath
console.log('临时路径', res.tempFilePath) // console.log('', res.tempFilePath)
//
this.userInfo.signatureUrl = await tempUrlToRealUrl(res.tempFilePath) // this.userInfo.signatureUrl = await tempUrlToRealUrl(res.tempFilePath)
console.log('签名路径', this.userInfo.signatureUrl) // console.log('', this.userInfo.signatureUrl)
console.log('签名上传成功') // console.log('')
uni.showToast({ title: '签名上传成功', icon: 'success' }) // uni.showToast({ title: '', icon: 'success' })
}, // },
}) // })
return // return
} // }
if (type === 'clear') { // if (type === 'clear') {
this.userInfo.signatureUrl = '' // this.userInfo.signatureUrl = ''
} // }
if (this.$refs.signatureRef) this.$refs.signatureRef[type]() // if (this.$refs.signatureRef) this.$refs.signatureRef[type]()
}, // },
}, },
} }
</script> </script>

View File

@ -1,39 +1,59 @@
<template> <template>
<view style="width: 100vw; height: 100vh"> <view style="width: 100vw; height: 80vh; background-color: #8f939c">
<l-signature landscape></l-signature> <l-signature
ref="signatureRef"
:openSmooth="openSmooth"
:penColor="penColor"
:penSize="penSize"
disableScroll
></l-signature>
</view> </view>
<view style="transform: rotate(90deg)"> <view style="width: 100vw; height: 20vh; background-color: #ffffff">
<button @click="onClick('clear')">清空</button> <button @click="onClick('clear')">清空</button>
<button @click="onClick('undo')">撤消</button> <button @click="onClick('undo')">撤消</button>
<button @click="onClick('save')">保存</button> <button @click="onClick('save')">提交</button>
<button @click="onClick('openSmooth')">压感{{ openSmooth ? '' : '' }}</button>
</view> </view>
</template> </template>
<script> <script>
import { tempUrlToRealUrl } from '../../utils/tempUrl-to-realUrl'
export default { export default {
data() { data() {
return { return {
title: 'Hello', title: 'Hello',
penColor: 'red', penColor: 'white',
penSize: 5, penSize: 5,
url: '', url: '',
openSmooth: true, openSmooth: true,
signatureUrl: '',
} }
}, },
methods: { methods: {
onClick(type) { async onClick(type) {
if (type === 'openSmooth') { if (type === 'openSmooth') {
this.openSmooth = !this.openSmooth this.openSmooth = !this.openSmooth
return return
} }
if (type === 'save') { if (type === 'save') {
this.$refs.signatureRef.canvasToTempFilePath({ await this.$refs.signatureRef.canvasToTempFilePath({
success: res => { success: async res => {
// //
console.log(res.isEmpty) console.log('签名返回是否为空', res.isEmpty)
if (res.isEmpty) {
this.signatureUrl = ''
return
}
// //
// H5 base64 // H5 base64
this.url = res.tempFilePath this.tempUrl = res.tempFilePath
console.log('临时路径', res.tempFilePath)
this.signatureUrl = await tempUrlToRealUrl(res.tempFilePath)
console.log('签名路径', this.signatureUrl)
console.log('签名上传成功')
uni.showToast({ title: '签名上传成功', icon: 'success' })
}, },
}) })
return return
@ -43,3 +63,4 @@ export default {
}, },
} }
</script> </script>
<style lang="scss"></style>