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
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>
|