Compare commits

..

No commits in common. "9f5c8e59b2edaabbb9e2cf1a6288737b0a4fd22d" and "c45fa85a3ff9bacbd48cd66d396874de159a4ce8" have entirely different histories.

8 changed files with 39 additions and 108 deletions

View File

@ -1458,37 +1458,3 @@
.tasks-warp .tasks-item .flex .tasks-time { .tasks-warp .tasks-item .flex .tasks-time {
color: #808080; color: #808080;
} }
.is-required{
position: relative;
}
.is-required::before{
content: '*';
position: absolute;
left: -20upx;
top: 10upx;
color: #f00;
font-size: 36upx;
}
.is-required-cu{
position: relative;
}
.is-required-cu::before{
content: '*';
position: absolute;
left: -20upx;
top: 30upx;
color: #f00;
font-size: 36upx;
}
.is-required-pic{
position: relative;
}
.is-required-pic::before{
content: '*';
position: absolute;
left: -10upx;
top: 20upx;
color: #f00;
font-size: 36upx;
}

View File

@ -224,8 +224,8 @@
} }
.livePusher { .livePusher {
width: 700upx; width: 350px;
height: 700upx; height: 350px;
} }
.livefater { .livefater {
@ -236,7 +236,7 @@
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
margin-bottom: 50rpx; margin-bottom: 50rpx;
height: 700upx; height: 350px;
position: relative; position: relative;
} }
.fat{ .fat{

View File

@ -21,7 +21,7 @@
</view> </view>
</view> </view>
<view class="studies_wrap-main"> <view class="studies_wrap-main">
<view class="">行业类型{{ item.CORP_TYPE_NAME }}</view> <view class="">行业类型{{ item.INDUSTRY_ALL_NAME }}</view>
<view class="">岗位类型{{ item.POSTTYPE_NAME }}</view> <view class="">岗位类型{{ item.POSTTYPE_NAME }}</view>
<view class=""> <view class="">
培训时间{{ item.START_TIME }} {{ item.END_TIME }} 培训时间{{ item.START_TIME }} {{ item.END_TIME }}

View File

@ -114,7 +114,6 @@ import {basePath, loginUser, baseImgPath} from "@/common/tool";
let faceAuthTimer; // let faceAuthTimer; //
let throttleTimer; let throttleTimer;
let throttleFlag; let throttleFlag;
let videoContext;
export default { export default {
data() { data() {
return { return {
@ -142,8 +141,7 @@ export default {
videoSrc: "", // videoSrc: "", //
videoPoster: "", // videoPoster: "", //
scrollHeight: '0px', // scroll-view scrollHeight: '0px', // scroll-view
// videoContext: null, // videoContext: null, //
submitTimeWaitForCount: 0, //
verification:false,// verification:false,//
} }
}, },
@ -327,8 +325,7 @@ export default {
this.videoList = resData.pd.VIDEOLIST; this.videoList = resData.pd.VIDEOLIST;
}, },
async fnVideoSwitching(videoData, hasNodes, index, index1) { async fnVideoSwitching(videoData, hasNodes, index, index1) {
videoContext && videoContext.pause(); this.videoContext && this.videoContext.pause();
this.submitTimeWaitForCount = 0;
if (this.changeVideoPlayTime !== 0) { if (this.changeVideoPlayTime !== 0) {
await this.fnSubmitPlayTime("0", this.changeVideoPlayTime); await this.fnSubmitPlayTime("0", this.changeVideoPlayTime);
this.changeVideoPlayTime = 0; this.changeVideoPlayTime = 0;
@ -364,9 +361,10 @@ export default {
if (!resData.pd.RESOURCETIME) { if (!resData.pd.RESOURCETIME) {
await this.fnSubmitPlayTime("0", 0); await this.fnSubmitPlayTime("0", 0);
} }
console.log('resData.pd.RESOURCETIME:'+resData.pd.RESOURCETIME) this.serverVideoPlayTime =
this.serverVideoPlayTime = Math.floor(resData.pd.RESOURCETIME) || 0 resData.pd.RESOURCETIME > 10
console.log('this.serverVideoPlayTime:'+this.serverVideoPlayTime) ? Math.floor(resData.pd.RESOURCETIME - 10)
: 0;
if (this.ISFACE === "1") { if (this.ISFACE === "1") {
if (this.verification) { if (this.verification) {
this.fnCreateVideo(); this.fnCreateVideo();
@ -378,45 +376,26 @@ export default {
} }
}, },
fnCreateVideo() { fnCreateVideo() {
videoContext = null; if (!this.videoContext) {
videoContext = uni.createVideoContext("video"); this.videoContext = uni.createVideoContext("video");
videoContext.play(); }
console.log('fnCreateVideo:'+this.serverVideoPlayTime) this.videoContext.play();
this.serverVideoPlayTime !== 0 && videoContext.seek(this.serverVideoPlayTime); this.serverVideoPlayTime !== 0 && this.videoContext.seek(this.serverVideoPlayTime);
}, },
async fnTimeUpdate(event) { fnTimeUpdate(event) {
this.throttle(async () => {
const currentTime = event.detail.currentTime; const currentTime = event.detail.currentTime;
if (currentTime - this.serverVideoPlayTime >= 10) { if (currentTime - this.serverVideoPlayTime >= 10) {
uni.navigateBack(); uni.navigateBack();
return; return;
} }
//appbug10退
if(currentTime !== 0 && Math.abs(currentTime - this.serverVideoPlayTime) > 10) {
videoContext.pause();
uni.showModal({
title: "提示",
content: "app开发环境问题偶现当前视频进度获取不准确为了防止进度被覆盖请退出重新进入",
showCancel:false,
success: (res) => {
uni.navigateBack();
return;
},
});
}
this.changeVideoPlayTime = currentTime; this.changeVideoPlayTime = currentTime;
if (currentTime - this.serverVideoPlayTime >= 5) { if (currentTime - this.serverVideoPlayTime >= 5) {
this.serverVideoPlayTime = currentTime;
this.submitTimeWaitForCount = ++this.submitTimeWaitForCount;
}
if (this.submitTimeWaitForCount === 6) {
this.submitTimeWaitForCount = 0;
await this.fnSubmitPlayTime("0", currentTime); await this.fnSubmitPlayTime("0", currentTime);
} }
}, 1000);
}, },
async fnSubmitPlayTime(IS_END, RESOURCETIME) { async fnSubmitPlayTime(IS_END, RESOURCETIME) {
if(!this.videoData.VIDEOCOURSEWARE_ID) {
return
}
const resData = await this.post('/app/coursestudyvideorecord/save',{ const resData = await this.post('/app/coursestudyvideorecord/save',{
USERNAME: loginUser.NAME, USERNAME: loginUser.NAME,
VIDEOCOURSEWARE_ID: this.videoData.VIDEOCOURSEWARE_ID, VIDEOCOURSEWARE_ID: this.videoData.VIDEOCOURSEWARE_ID,
@ -463,7 +442,7 @@ export default {
this.videoList[this.firstIndex].percent = percent; this.videoList[this.firstIndex].percent = percent;
} }
if (resData.pd.CANEXAM === "1") { if (resData.pd.CANEXAM === "1") {
videoContext.pause(); this.videoContext.pause();
uni.showModal({ uni.showModal({
title: "提示", title: "提示",
content: "当前班级内所有课程均已学完,是否直接参加考试?", content: "当前班级内所有课程均已学完,是否直接参加考试?",
@ -471,27 +450,20 @@ export default {
cancelButtonText: "否", cancelButtonText: "否",
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
if (videoContext && videoContext.fullScreen) {
videoContext.exitFullScreen()
}
uni.navigateTo({ uni.navigateTo({
url: '/pages/application/onlinexxks/course_exam?STAGEEXAMPAPERINPUT_ID=' + resData.paper.STAGEEXAMPAPERINPUT_ID + '&STAGEEXAMPAPER_ID=' + resData.paper.STAGEEXAMPAPERINPUT_ID + '&CLASS_ID=' + this.CLASS_ID + '&POST_ID=' + resData.pd.POST_ID + '&STUDENT_ID=' + this.STUDENT_ID + '&NUMBEROFEXAMS=' + resData.pd.NUMBEROFEXAMS + '&entrySite=video_study' url: '/pages/application/onlinexxks/course_exam?STAGEEXAMPAPERINPUT_ID=' + resData.paper.STAGEEXAMPAPERINPUT_ID + '&STAGEEXAMPAPER_ID=' + resData.paper.STAGEEXAMPAPERINPUT_ID + '&CLASS_ID=' + this.CLASS_ID + '&POST_ID=' + resData.pd.POST_ID + '&STUDENT_ID=' + this.STUDENT_ID + '&NUMBEROFEXAMS=' + resData.pd.NUMBEROFEXAMS + '&entrySite=video_study'
}) })
} else if (res.cancel) { } else if (res.cancel) {
videoContext.play(); this.videoContext.play();
} }
}, },
}); });
} }
}, },
fnEnded() { fnEnded() {
if (this.changeVideoPlayTime - this.serverVideoPlayTime >= 10) {
uni.navigateBack();
return;
}
this.changeVideoPlayTime = 0; this.changeVideoPlayTime = 0;
this.fnSubmitPlayTime("1", 0); this.fnSubmitPlayTime("1", 0);
videoContext.pause(); this.videoContext.pause();
this.fnClearInterval(); this.fnClearInterval();
}, },
fnPlay() { fnPlay() {
@ -502,7 +474,6 @@ export default {
} }
faceAuthTimer = setInterval(async () => { faceAuthTimer = setInterval(async () => {
if (new Date().getTime() >= this.randomTime) { if (new Date().getTime() >= this.randomTime) {
this.randomTime = 0;
await this.fnSubmitPlayTime("0", this.changeVideoPlayTime); await this.fnSubmitPlayTime("0", this.changeVideoPlayTime);
await this.fnNavigationFaceAuth(); await this.fnNavigationFaceAuth();
} }
@ -525,9 +496,6 @@ export default {
CHAPTER_ID: this.videoData.CHAPTER_ID, CHAPTER_ID: this.videoData.CHAPTER_ID,
VIDEOCOURSEWARE_ID: this.videoData.VIDEOCOURSEWARE_ID, VIDEOCOURSEWARE_ID: this.videoData.VIDEOCOURSEWARE_ID,
}) })
if (videoContext && videoContext.fullScreen) {
videoContext.exitFullScreen()
}
const resData = await this.post('/app/user/getUserFace', { const resData = await this.post('/app/user/getUserFace', {
USERNAME: loginUser.NAME, USERNAME: loginUser.NAME,
USER_ID: loginUser.USER_ID, USER_ID: loginUser.USER_ID,

View File

@ -7,16 +7,16 @@
<scroll-view scroll-y="false" > <scroll-view scroll-y="false" >
<view class="form"> <view class="form">
<view class="cu-form-group"> <view class="cu-form-group">
<view class="title is-required">身份证号</view> <view class="title">身份证号</view>
<input v-model="formData.USER_ID_CARD" disabled placeholder="请输入身份证号" maxlength="18" name="input" style="color:#cccccc" /> <input v-model="formData.USER_ID_CARD" disabled placeholder="请输入身份证号" maxlength="18" name="input" style="color:#cccccc" />
</view> </view>
<view class="cu-form-group margin-top-xs"> <view class="cu-form-group margin-top-xs">
<view class="title is-required">姓名</view> <view class="title">姓名</view>
<input v-model="formData.NAME" :disabled="forbidEdit" placeholder="请输入姓名" maxlength="50" name="input" :style="'color:' + colorValue + ';'" /> <input v-model="formData.NAME" :disabled="forbidEdit" placeholder="请输入姓名" maxlength="50" name="input" :style="'color:' + colorValue + ';'" />
</view> </view>
<view class="cu-form-group margin-top-xs"> <view class="cu-form-group margin-top-xs">
<view class="title is-required">手机</view> <view class="title">手机</view>
<input v-model="formData.PHONE" :disabled="forbidEdit" placeholder="请输入手机" maxlength="11" name="input" :style="'color:' + colorValue + ';'" /> <input v-model="formData.PHONE" :disabled="forbidEdit" placeholder="请输入手机号" maxlength="11" name="input" :style="'color:' + colorValue + ';'" />
</view> </view>
<view v-if="forbidEdit && formData.CORPINFO_ID" class="cu-form-group margin-top-xs"> <view v-if="forbidEdit && formData.CORPINFO_ID" class="cu-form-group margin-top-xs">
<view class="title">服务单位</view> <view class="title">服务单位</view>
@ -24,8 +24,8 @@
</view> </view>
</view> </view>
<view class="cu-bar btn-group" style="margin-top: 30upx;"> <view class="cu-bar btn-group" style="margin-top: 30upx;">
<button v-if="!forbidEdit" class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(confirmAccount)"></button> <button v-if="!forbidEdit" class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(confirmAccount,'1')"></button>
<button v-if="forbidEdit && applyStatus !== '0'" class="cu-btn bg-blue margin-tb-sm lg" @click="goEdit"></button> <button v-if="forbidEdit && applyStatus !== '0'" class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(goEdit)"></button>
<!-- <button class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goback)"></button>--> <!-- <button class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goback)"></button>-->
</view> </view>
</scroll-view> </scroll-view>

View File

@ -16,7 +16,7 @@
</view> </view>
<view class="cu-form-group margin-top-xs"> <view class="cu-form-group margin-top-xs">
<view class="title">手机</view> <view class="title">手机</view>
<input v-model="formData.PHONE" disabled placeholder="请输入手机" maxlength="11" name="input" style="color: #cccccc" /> <input v-model="formData.PHONE" disabled placeholder="请输入手机号" maxlength="11" name="input" style="color: #cccccc" />
</view> </view>
<view class="cu-form-group margin-top-xs"> <view class="cu-form-group margin-top-xs">
<view class="title">人员类型</view> <view class="title">人员类型</view>
@ -53,7 +53,7 @@
</view> </view>
<view class="cu-bar btn-group" style="margin-top: 30upx;"> <view class="cu-bar btn-group" style="margin-top: 30upx;">
<button v-if="!forbidEdit" :loading="buttonloading" :disabled="buttonloading" class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(confirmApply)"> </button> <button v-if="!forbidEdit" :loading="buttonloading" :disabled="buttonloading" class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(confirmApply)"> </button>
<button v-if="forbidEdit" class="cu-btn bg-blue margin-tb-sm lg" @click="goEdit"></button> <button v-if="forbidEdit" class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(goEdit)"></button>
<!-- <button class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goback)"></button>--> <!-- <button class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goback)"></button>-->
</view> </view>
</scroll-view> </scroll-view>
@ -147,9 +147,6 @@ export default {
} }
this.$forceUpdate();// this.$forceUpdate();//
}, },
goEdit(){
this.$emit("goEdit", false);
},
goback(){ goback(){
var pages = getCurrentPages(); // var pages = getCurrentPages(); //
var prePage = pages[pages.length - 2]; // var prePage = pages[pages.length - 2]; //

View File

@ -7,16 +7,16 @@
<scroll-view scroll-y="false" > <scroll-view scroll-y="false" >
<view class="form"> <view class="form">
<view class="cu-form-group"> <view class="cu-form-group">
<view class="title is-required">身份证号</view> <view class="title">身份证号</view>
<input v-model="formData.USER_ID_CARD" placeholder="请输入身份证号" maxlength="18" name="input" /> <input v-model="formData.USER_ID_CARD" placeholder="请输入身份证号" maxlength="18" name="input" />
</view> </view>
<view class="cu-form-group margin-top-xs"> <view class="cu-form-group margin-top-xs">
<view class="title is-required">姓名</view> <view class="title">姓名</view>
<input v-model="formData.NAME" placeholder="请输入姓名" maxlength="50" name="input" /> <input v-model="formData.NAME" placeholder="请输入姓名" maxlength="50" name="input" />
</view> </view>
<view class="cu-form-group margin-top-xs"> <view class="cu-form-group margin-top-xs">
<view class="title is-required">手机</view> <view class="title">手机</view>
<input v-model="formData.PHONE" placeholder="请输入手机" maxlength="11" name="input" /> <input v-model="formData.PHONE" placeholder="请输入手机号" maxlength="11" name="input" />
</view> </view>
</view> </view>
<view class="cu-bar btn-group" style="margin-top: 30upx;"> <view class="cu-bar btn-group" style="margin-top: 30upx;">

View File

@ -7,19 +7,19 @@
<scroll-view scroll-y="false" > <scroll-view scroll-y="false" >
<view class="form"> <view class="form">
<view class="cu-form-group"> <view class="cu-form-group">
<view class="title is-required">姓名</view> <view class="title">姓名</view>
<input v-model="formData.NAME" disabled placeholder="请输入姓名" maxlength="50" name="input" style="color: #cccccc" /> <input v-model="formData.NAME" disabled placeholder="请输入姓名" maxlength="50" name="input" style="color: #cccccc" />
</view> </view>
<view class="cu-form-group margin-top-xs"> <view class="cu-form-group margin-top-xs">
<view class="title is-required">身份证号</view> <view class="title">身份证号</view>
<input v-model="formData.USER_ID_CARD" disabled placeholder="请输入身份证号" maxlength="18" name="input" style="color: #cccccc" /> <input v-model="formData.USER_ID_CARD" disabled placeholder="请输入身份证号" maxlength="18" name="input" style="color: #cccccc" />
</view> </view>
<view class="cu-form-group margin-top-xs"> <view class="cu-form-group margin-top-xs">
<view class="title is-required">手机</view> <view class="title">手机</view>
<input v-model="formData.PHONE" disabled placeholder="请输入手机" maxlength="11" name="input" style="color: #cccccc" /> <input v-model="formData.PHONE" disabled placeholder="请输入手机号" maxlength="11" name="input" style="color: #cccccc" />
</view> </view>
<view class="cu-form-group margin-top-xs"> <view class="cu-form-group margin-top-xs">
<view class="title is-required">人员类型</view> <view class="title">人员类型</view>
<picker @change="pickerChangeData($event,'PERSONNEL_TYPE')" disabled :value="dictData.PERSONNEL_TYPE.index" :range="dictData.PERSONNEL_TYPE.list" range-key="NAME"> <picker @change="pickerChangeData($event,'PERSONNEL_TYPE')" disabled :value="dictData.PERSONNEL_TYPE.index" :range="dictData.PERSONNEL_TYPE.list" range-key="NAME">
<view class="picker" style="color: #cccccc"> <view class="picker" style="color: #cccccc">
{{formData.PERSONNEL_TYPE.join()}} {{formData.PERSONNEL_TYPE.join()}}
@ -30,7 +30,7 @@
<!-- 入职申请 --> <!-- 入职申请 -->
<uni-section title="入职申请" type="line" class="margin-top" padding> <uni-section title="入职申请" type="line" class="margin-top" padding>
<view class="cu-form-group margin-top-xs"> <view class="cu-form-group margin-top-xs">
<view class="title is-required">入职企业</view> <view class="title">入职企业</view>
<zqs-select <zqs-select
:multiple="false" :multiple="false"
:list="dictData.APPLY_CORP.list" :list="dictData.APPLY_CORP.list"