工行这里学车报名流程h5
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

138 lines
3.0 KiB

<template>
<view class="box">
<view class="main">
<signature :showCanvas="showCanvas" @closeCanvas="closeCanvas" @getCanvasImg="getCanvasImg"></signature>
</view>
</view>
</template>
<script>
import signature from './signature.vue';
import carLearn from '@/api/carLearn.js'
import { APP_API, APP_HOST } from '@/site.config.js';
export default {
components: {
signature
},
data() {
return {
//打开canvas绘制签名
showCanvas: true,
//是否展示操作菜单
completionSignPath: '' ,//签名路径
completionSignImg:'', //签名图片base64
signImg:"", //原有签名图片
params: {
studentId: uni.getStorageSync('studentId')||'',
part: '',
signUrl: ''
}
}
},
onLoad(option) {
this.params.part = option.part
},
methods: {
//隐藏canvas签名组件
closeCanvas(e) {
// this.showCanvas = false;
if (e) {
this.completionSignPath = e
this.ossUpload();
}
},
//获取图片内容
getCanvasImg(e) {
if (e) {
this.completionSignImg = e
// this.ossUpload()
}
},
sign() {
this.showCanvas = true;
},
//上传签名
ossUpload() {
let _this = this
if(!this.completionSignPath){
uni.showToast({
title: '签名为空不能上传',
icon: 'none',
duration: 2000
})
return;
}
const _url = APP_HOST + APP_API + '/util/manage/uploadFile.do';
console.log('来到这里了吗?')
console.log(this.completionSignPath)
uni.uploadFile({
url: _url,
filePath: this.completionSignPath,
name: 'file',
formData: {
fileType: 1,
fileSuffix: "png",
},
header: {
'token' : uni.getStorageSync("Authorization") || '',
},
success: res => {
// 判断是否json字符串,将其转为json格式
let data = typeof(res.data) == 'string' ? JSON.parse(res.data) : res.data;
if (data.code==0) {
console.log(data.data)
_this.params.signUrl = data.data
_this.saveStudentPeriodSign()
}
console.log(res)
},
fail: err =>{
console.log('err',err);
uni.$u.toast(err.errMsg);
}
});
},
// 确认认签名
async saveStudentPeriodSign() {
const [err, res] = await carLearn.saveStudentPeriodSign(this.params)
console.log('签名成功')
console.log(res)
if(res.data.code!=0) return this.$u.toast(res.message)
// 锁定竖屏
// #ifdef APP-PLUS
plus.screen.lockOrientation("portrait-primary");
// #endif
this.$refs.uToast.show({
title: '上传成功',
type: 'success',
url: '/pages/learnDriveStep/confirmClassHour/back'
})
},
}
}
</script>
<style scoped lang="scss">
.box {
overflow: hidden;
height: 100vh;
}
.main {
width: 100%;
height: 100%;
background: #fff;
overflow-y: scroll;
/* 使用滚动区域代替Webview滚动 */
-webkit-overflow-scrolling: touch;
/* IOS弹性 */
position: relative;
/* 相对位置 */
overflow-x: hidden;
/* X轴滚动 */
-webkit-transform: translateZ(0);
/* 3D加速 */
-webkit-overflow-scrolling: touch;
}
</style>