YNUtdPlatform/pages/realName/workbench/electronicContract/contractVideo.vue

217 lines
6.4 KiB
Vue
Raw Normal View History

2024-09-09 09:44:11 +08:00
<template>
<view class="page">
<u-navbar class="u-navbar" title="电子合同" placeholder @leftClick="leftClick" leftIconColor="#fff" bgColor="#00337A" :titleStyle="{ color: '#FFF', fontSize: '32rpx' }"/>
<view class="file-box">
<view style="margin: 20rpx;font-weight: bold;">
合同视频
</view>
2024-12-30 16:53:41 +08:00
<video :src="videoSrc" :controls="false" style="width: 100%;height: 600rpx;" v-if="!showPopup"></video>
2024-09-09 09:44:11 +08:00
<view style="margin: 20rpx;font-weight: bold;color: red;">
确认视频无误进行下一步签订
</view>
2024-09-09 09:44:11 +08:00
</view>
<view class="bottom-box">
<view class="btn1" @click="chooseVideo">重新录制</view>
2024-09-09 09:44:11 +08:00
<view class="btn2" @click="contractPdf">下一步</view>
</view>
<!-- 弹窗 -->
<u-popup :show="showPopup" mode="center" @close="closePopup">
<view style="width:650rpx;height: 100%;position: relative;background-color: #fff;">
<view class="popup-header">
2024-10-30 09:17:04 +08:00
<view style="width: 10%;height: 80rpx;"></view>
<view style="width: 80%;height: 80rpx;line-height: 80rpx;font-weight: bold;text-align:center;font-size: 32rpx;">电子合同</view>
<u-icon style="width: 10%;" name="close" color="#000" size="24" @click="closePopup"></u-icon>
</view>
<scroll-view class="popup-content" scroll-y="true">
<view>电子劳动合同是指用人单位与劳动者按照中华人民共和国劳动合同法中华人民共和国民法典中华人民共和国电子签名法等法律法规规定经协商一致以可视为书面形式的数据电文为载体使用可靠的电子签名订立的劳动合同
依法订立的电子劳动合同具有法律效力用人单位与劳动者应当按照电子劳动合同的约定全面履行各自的义务
电子劳动合同信息保护与安全的具体要求如下</view>
<view>电子劳动合同信息的管理调取和应用要符合中华人民共和国网络安全法互联网信息服务管理办法等法律法规不得侵害信息主体合法权益</view>
<view>电子劳动合同订立平台及其所依赖的服务环境要按照信息安全等级保护管理办法第三级的相关要求实施网络安全等级保护确保平台稳定运行提供连续服务防止所收集或使用的身份信息合同内容信息日志信息泄漏篡改丢失</view>
<view>电子劳动合同订立平台要建立健全电子劳动合同信息保护制度不得非法收集使用加工传输提供公开电子劳动合同信息</view>
<view>未经信息主体同意或者法律法规授权电子劳动合同订立平台不得向他人非法提供电子劳动合同查阅调取等服务</view>
<view>以上就是电子劳动合同信息保护与安全的一些要求可以看出大多是从平台的网络安全防护不得泄露信息等角度由此可见数据安全的重要性在电子合同数据安全上平台也是多举措保障采用防篡改技可信时间戳区块链存证等技术来保障数据的不被篡改及签名安全</view>
<view>可按上班满5天允许补卡一天的原则进行调整</view>
</scroll-view>
<view class="popup-submit-box">
2024-10-30 09:17:04 +08:00
<u-button type="primary" shape="square" :disabled="timeNum>0" class="submit-edit-2" @click="confirm">确认<text v-if="timeNum>0">({{timeNum}})</text></u-button>
</view>
</view>
</u-popup>
2024-09-09 09:44:11 +08:00
</view>
</template>
<script>
import config from '@/config';
2024-09-09 09:44:11 +08:00
export default {
data() {
return {
2024-10-30 09:17:04 +08:00
timme:null,
timeNum:15,
videoSrc:"",
videoUrl:"",
autoPlay:false,
showPopup:false,
2024-09-09 09:44:11 +08:00
}
},
onLoad() {
2024-09-29 10:19:21 +08:00
console.log('?? ~ mounted ~ mounted-index:')
2024-10-30 09:17:04 +08:00
this.chooseVideo()
// this.Time();//定时器
// this.showPopup=true;
2024-09-09 09:44:11 +08:00
},
onShow() {
},
methods: {
2024-10-30 09:17:04 +08:00
// 定时器
Time() {
this.timme = setInterval(() => {
if(this.timeNum>0){
this.timeNum=this.timeNum-1
}else{
clearInterval(this.timme);
}
}, 1000);
},
2024-09-09 09:44:11 +08:00
chooseVideo(){
uni.chooseVideo({
count: 1,
sourceType: ['camera'],
maxDuration: 30,
mediaType: ['video'],
compressed: false,
success: res => {
console.log('chooseVideo',res)
2024-12-30 16:53:41 +08:00
this.videoSrc = res.tempFilePath;
this.videoUrl = res.tempFilePath;
2024-09-09 09:44:11 +08:00
},
fail: (err) => {
uni.showToast({
title: '视频录制失败!',
duration: 2000
});
2024-09-09 09:44:11 +08:00
}
})
2024-09-09 09:44:11 +08:00
},
contractPdf(){
if(this.videoUrl==""){
uni.showToast({
icon: "none",
title: '请先录制合同视频!',
duration: 1000
});
}else{
uni.navigateTo({
url: `/pages/realName/workbench/electronicContract/contractPdf?videoUrl=${this.videoUrl}`
})
}
},
confirm(){
this.showPopup=false
this.chooseVideo()
},
closePopup(){
this.showPopup=false
2024-09-09 09:44:11 +08:00
},
// 返回
leftClick() {
console.log('返回')
uni.navigateBack({
delta: 1 // 返回
});
}
},
2024-10-30 09:17:04 +08:00
destroyed() {
clearInterval(this.timme);
}
2024-09-09 09:44:11 +08:00
}
</script>
<style lang="scss">
.page {
width: 100vw;
height: 100vh;
2024-09-29 10:19:21 +08:00
background-color: #EFEFEF;
2024-09-09 09:44:11 +08:00
box-sizing: border-box;
position: relative;
.file-box{
width: 100%;
height: 80vh;
2024-09-09 09:44:11 +08:00
// overflow-y: auto;
}
.bottom-box{
width: 90%;
margin: 0 auto;
height: 120rpx;
display: flex;
justify-content: space-between;
align-items: center;
.btn1{
width: 40%;
height: 80rpx;
display: flex;
align-items: center;justify-content: center;
color: #FFF;
background: #00337A;
border-radius: 10rpx;
}
.btn2{
width: 40%;
height: 80rpx;
display: flex;
align-items: center;justify-content: center;
color: #FFF;
background: #00337A;
border-radius: 10rpx;
}
}
.popup-header{
width: 100%;
height: 80rpx;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
background-color: #fff;
}
.popup-content{
2024-10-30 09:17:04 +08:00
width: 94%;
margin: 0 auto;
height: 70vh;
background-color: #fff;
}
.popup-submit-box {
width: 100%;
height: 100rpx;
display: flex;
padding-bottom: 20rpx;
justify-content: space-between;
align-items: center;
background-color: #FFF;
.submit-edit-1{
width:45%;
margin: 0 auto;
height: 65rpx;
font-size: 26rpx;
background: #F5F5F5;
}
.submit-edit-2{
width: 45%;
margin: 0 auto;
height: 65rpx;
font-size: 26rpx;
background: #0052D9;
}
}
2024-09-09 09:44:11 +08:00
}
</style>