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.
192 lines
4.0 KiB
192 lines
4.0 KiB
<template> |
|
<view class="sign-contain"> |
|
<view class="sign-top"> |
|
请在空白处签字 |
|
</view> |
|
<my-sign @init="onSignInit" @end="endConfirm" bgColor="#fff" width="100%" :height="signHeight"> |
|
</my-sign> |
|
|
|
<!-- 按钮 --> |
|
<view class="signBtn-box"> |
|
<view class="signBtn-item1"> |
|
<button type="default" plain="true" class="lnvestor-btn" hover-class="hover" |
|
@click="cancelBtn">取消</button> |
|
</view> |
|
<view class="signBtn-item2"> |
|
<button type="default" plain="true" class="lnvestor-btn1" hover-class="hover" |
|
@click="clear">清空重写</button> |
|
<button type="primary" class="lnvestor-btn2" hover-class="hover" |
|
@click="submitBtn" :disabled="vsignDisabled">提交签名</button> |
|
</view> |
|
</view> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
import utils from '@/utils/encode' |
|
export default { |
|
data() { |
|
return { |
|
signHeight: '375px', |
|
vsignDisabled: true, |
|
detailsData:{} |
|
} |
|
}, |
|
onLoad(option) { |
|
if(option!='{}'){ |
|
let stationData = JSON.parse(option.data) |
|
this.detailsData = stationData |
|
} |
|
var that = this; |
|
uni.getSystemInfo({ |
|
success: function(res) { |
|
console.log('屏幕信息', res) |
|
that.signHeight = (res.windowHeight-130)+"px"; |
|
} |
|
}) |
|
}, |
|
methods: { |
|
submitBtn(){ |
|
let File = this.signCtx.canvasToTempFilePath() |
|
let imageUrl = '' |
|
File.then(res=>{ |
|
let _that = this |
|
const JSESSIONID = utils.uuid() |
|
uni.uploadFile({ |
|
url: 'http://uat.xingoil.com/adminapi/oil-oss/obejct/uploadFile', |
|
filePath: res, |
|
formData: { |
|
ossKey: 'xingyou', |
|
pathKey: 'publicxingyou', |
|
encrypt: 'PUBLIC', |
|
}, |
|
name: 'file', |
|
header: { |
|
"Content-Type": "multipart/form-data", |
|
"Authorization": uni.getStorageSync('Authorization'), |
|
'dataSources': 'MP', |
|
"imei": uni.getStorageSync('unionid'), |
|
"openId": uni.getStorageSync('openid'), |
|
'JSESSIONID': JSESSIONID, |
|
'token': utils.md5Salt(JSESSIONID) |
|
}, |
|
success(e) { |
|
let obj = JSON.parse(e.data), |
|
imageUrl = obj.data.publicUrl |
|
_that.getImage(imageUrl) |
|
}, |
|
fail(err) {} |
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
getImage(imageUrl){ |
|
this.detailsData.signatureUrl = imageUrl |
|
let stationInfo = JSON.stringify(this.detailsData) |
|
uni.redirectTo({ |
|
url: `../reconciliationDetails/index?data=${stationInfo}` |
|
}) |
|
}, |
|
// 取消 |
|
cancelBtn(){ |
|
uni.navigateBack({ |
|
delta: 1 |
|
}) |
|
}, |
|
// 清除 |
|
clear() { |
|
this.signCtx.clear(); |
|
this.vsignDisabled = true; |
|
}, |
|
onSignInit(signCtx) { |
|
this.signCtx = signCtx |
|
}, |
|
// 绘画结束触发 |
|
endConfirm() { |
|
this.vsignDisabled = false; |
|
} |
|
} |
|
} |
|
</script> |
|
|
|
<style lang="scss"> |
|
.sign-contain { |
|
padding-left: 35rpx; |
|
padding-right: 35rpx; |
|
|
|
.sign-top { |
|
width: 100%; |
|
height: 50px; |
|
line-height: 50px; |
|
font-size: 16px; |
|
text-align: center; |
|
color: #999999; |
|
} |
|
|
|
.signBtn-box { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
|
|
.signBtn-item1 { |
|
|
|
// 按钮样式 |
|
.lnvestor-btn { |
|
margin-top: 11px; |
|
width: 94px; |
|
height: 40px; |
|
border-radius: 20px; |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
font-size: 16px; |
|
} |
|
|
|
.hover { |
|
border: 1px solid #ccc !important; |
|
color: #ccc !important; |
|
font-size: 16px !important; |
|
} |
|
} |
|
|
|
.signBtn-item2 { |
|
display: flex; |
|
|
|
// 按钮样式 |
|
.lnvestor-btn1 { |
|
margin-top: 11px; |
|
width: 128px; |
|
height: 40px; |
|
border-radius: 20px; |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
font-size: 16px; |
|
margin-right: 16px; |
|
} |
|
|
|
.lnvestor-btn2 { |
|
margin-top: 11px; |
|
width: 128px; |
|
height: 40px; |
|
border-radius: 20px; |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
background: #b99c65; |
|
font-size: 16px; |
|
} |
|
|
|
.hover { |
|
border: 1px solid #ccc !important; |
|
color: #ccc !important; |
|
font-size: 16px !important; |
|
} |
|
} |
|
} |
|
} |
|
</style> |
|
|
|
|