301 lines
8.8 KiB
Vue
301 lines
8.8 KiB
Vue
<template>
|
|
<view>
|
|
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
|
|
<block slot="backText">返回</block>
|
|
<block slot="content">我的学习</block>
|
|
</cu-custom>
|
|
<view class="container">
|
|
<scroll-view @scrolltolower="scrolltolower" scroll-y style="height: calc(100vh - 65px)">
|
|
<view v-if="list.length > 0">
|
|
<view class="studies_wrap" v-for="(item, index) in list" :key="index">
|
|
<view class="studies_wrap-top">
|
|
<view class="studies_wrap_title">班级名称: {{ item.NAME }}</view>
|
|
<view class="studies_wrap_state">
|
|
<view class="fcb" v-if="item.STUDYSTATE === '1'">学习中</view>
|
|
<view class="fcg" v-if="item.STUDYSTATE === '2'">已学完</view>
|
|
<view class="fch" v-if="item.STUDYSTATE === '0'">未学习</view>
|
|
<view class="fch" v-if="item.STUDYSTATE === '3'">已完成</view>
|
|
<view class="fch" v-if="item.STUDYSTATE === '4'">未完成</view>
|
|
<view class="fch" v-if="item.STUDYSTATE === '5'">待评估</view>
|
|
<view class="fch" v-if="item.STUDYSTATE === '6'">评估未合格</view>
|
|
</view>
|
|
</view>
|
|
<view class="studies_wrap-main">
|
|
<view class="">行业类型:{{ item.INDUSTRY_ALL_NAME }}</view>
|
|
<view class="">岗位类型:{{ item.POSTTYPE_NAME }}</view>
|
|
<view class="">
|
|
培训时间:{{ item.START_TIME }} 至 {{ item.END_TIME }}
|
|
</view>
|
|
</view>
|
|
<view class="studies_wrap-bottom">
|
|
<view class="flex">
|
|
<image src="/static/study/time.png" alt=""/>
|
|
<view>
|
|
<uni-countdown :second="item.second"/>
|
|
</view>
|
|
</view>
|
|
<view class="">
|
|
<button
|
|
class="cu-btn round bg-blue"
|
|
v-show="
|
|
item.STUDYSTATE >= '2' &&
|
|
item.STAGEEXAMSTATE >= '2' &&
|
|
(item.ISSTRENGTHEN === '1' || item.ISSTRENGTHEN === '2') &&
|
|
item.STRENGTHENEXAMSTATE === '0'
|
|
"
|
|
type="primary"
|
|
round
|
|
@click="fnJudgeToStrengthen(item)"
|
|
>
|
|
加强学习
|
|
</button>
|
|
<button
|
|
class="cu-btn round bg-blue"
|
|
v-show="item.STUDYSTATE <= '1' && item.STATE === '5'"
|
|
@click="fnJudgeSignature(item)"
|
|
>
|
|
立即学习
|
|
</button>
|
|
<button
|
|
class="cu-btn round bg-green"
|
|
v-show="
|
|
item.STUDYSTATE === '2' &&
|
|
item.STATE !== '6' &&
|
|
item.EXAMINATION === 1 &&
|
|
item.STAGEEXAMSTATE === '1' &&
|
|
item.ksCount < item.NUMBEROFEXAMS
|
|
"
|
|
@click="fnStageExam(item)"
|
|
>
|
|
立即考试
|
|
</button>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view v-if="list.length===0" class="dy-null">
|
|
<view class="dy-null-img">
|
|
<image src="../../../static/null.png" mode=""></image>
|
|
</view>
|
|
<view class="dy-null-title">
|
|
暂无数据
|
|
</view>
|
|
</view>
|
|
</scroll-view>
|
|
</view>
|
|
<view class="cu-modal" :class="modalName=='Modal'?'show':''">
|
|
<landscape-sign @confirm="subCanvas" @cancel="hideModal"></landscape-sign>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import LandscapeSign from "@/components/landscape_sign/index.vue";
|
|
import {basePath, loginUser} from "@/common/tool";
|
|
|
|
export default {
|
|
components: {
|
|
LandscapeSign,
|
|
},
|
|
data() {
|
|
return {
|
|
list: [],
|
|
showCount: 10,
|
|
currentPage: 1,
|
|
totalPage: 0,
|
|
modalName: '',
|
|
CLASS_ID: '',
|
|
POST_ID: '',
|
|
STAGESTUDENTRELATION_ID: '',
|
|
STUDENT_ID: '',
|
|
}
|
|
},
|
|
onShow() {
|
|
this.list = []
|
|
this.currentPage = 1
|
|
this.totalPage = 0
|
|
this.showCount = 10
|
|
this.getData()
|
|
},
|
|
methods: {
|
|
scrolltolower() {
|
|
this.currentPage++
|
|
if (this.totalPage >= this.currentPage) {
|
|
this.getData()
|
|
}
|
|
},
|
|
getData() {
|
|
uni.showLoading({
|
|
title: '请稍候'
|
|
})
|
|
uni.request({
|
|
url: basePath + '/app/stagestudentrelation/pageTaskByUser',
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
data: {
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
showCount: this.showCount,
|
|
currentPage: this.currentPage,
|
|
},
|
|
success: (res) => {
|
|
uni.hideLoading(); //结束加载中动画
|
|
var resData = res.data;
|
|
if ("success" == resData.result) {
|
|
for (let i = 0; i < resData.varList.length; i++) {
|
|
resData.varList[i].second = (new Date(resData.varList[i].END_TIME.replace(/-/g, '/')).getTime() - new Date().getTime()) / 1000
|
|
}
|
|
this.list = [...this.list,...resData.varList];
|
|
}
|
|
}
|
|
});
|
|
},
|
|
fnJudgeSignature(item) {
|
|
if (item.STUDYSTATE === "0") {
|
|
this.CLASS_ID = item.CLASS_ID;
|
|
this.POST_ID = item.POST_ID;
|
|
this.STAGESTUDENTRELATION_ID = item.STAGESTUDENTRELATION_ID;
|
|
this.STUDENT_ID = item.STUDENT_ID;
|
|
this.modalName = 'Modal';
|
|
} else {
|
|
this.fnNavigationCurriculumSchedule(
|
|
item.CLASS_ID,
|
|
item.POST_ID,
|
|
item.STUDENT_ID
|
|
);
|
|
}
|
|
},
|
|
fnJudgeToStrengthen({CLASS_ID,POST_ID,STUDENT_ID}){
|
|
uni.navigateTo({
|
|
url: `/pages/application/onlinexxks/strengthen_video_study?CLASS_ID=${CLASS_ID}&POST_ID=${POST_ID}&STUDENT_ID=${STUDENT_ID}`,
|
|
});
|
|
},
|
|
hideModal() {
|
|
this.modalName = ''
|
|
},
|
|
subCanvas({base64}) {
|
|
uni.showLoading({
|
|
title: '请稍候'
|
|
})
|
|
uni.request({
|
|
url: basePath + '/app/stagestudentrelation/sign',
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
data: {
|
|
FFILE:base64,
|
|
STUDYSTATE: 1,
|
|
CLASS_ID: this.CLASS_ID,
|
|
STAGESTUDENTRELATION_ID: this.STAGESTUDENTRELATION_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
OPERATOR: loginUser.NAME,
|
|
},
|
|
success: (res) => {
|
|
uni.hideLoading(); //结束加载中动画
|
|
var result = res.data.result;
|
|
if ("success" == result) {
|
|
this.hideModal()
|
|
this.fnNavigationCurriculumSchedule(this.CLASS_ID, this.POST_ID, this.STUDENT_ID)
|
|
}
|
|
}
|
|
});
|
|
},
|
|
fnNavigationCurriculumSchedule(CLASS_ID, POST_ID, STUDENT_ID) {
|
|
uni.navigateTo({
|
|
url: `/pages/application/onlinexxks/curriculum_schedule?CLASS_ID=${CLASS_ID}&POST_ID=${POST_ID}&STUDENT_ID=${STUDENT_ID}`,
|
|
});
|
|
},
|
|
fnStageExam(item){
|
|
uni.navigateTo({
|
|
url:'/pages/application/onlinexxks/course_exam?STAGEEXAMPAPERINPUT_ID=' + item.STAGEEXAMPAPERINPUT_ID+'&STAGEEXAMPAPER_ID='+item.STAGEEXAMPAPERINPUT_ID+'&CLASS_ID='+item.CLASS_ID+'&POST_ID='+ item.POST_ID+'&STUDENT_ID='+item.STUDENT_ID+'&NUMBEROFEXAMS='+ item.NUMBEROFEXAMS+'&entrySite=list'
|
|
})
|
|
}
|
|
},
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.container {
|
|
box-sizing: border-box;
|
|
padding: 0 20upx 20upx;
|
|
|
|
.studies_wrap {
|
|
width: 100%;
|
|
padding: 0 20upx;
|
|
background: #ffffff;
|
|
border-radius: 10upx;
|
|
box-sizing: border-box;
|
|
margin-top: 20upx;
|
|
|
|
.studies_wrap-top {
|
|
width: 100%;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
border-bottom: 1upx solid #eee;
|
|
padding: 20upx 0;
|
|
|
|
.studies_wrap_title {
|
|
font-weight: bold;
|
|
font-size: 30upx;
|
|
}
|
|
|
|
.studies_wrap_state {
|
|
font-size: 30upx;
|
|
flex-basis: 130upx;
|
|
margin-left: 20upx;
|
|
}
|
|
}
|
|
|
|
.studies_wrap-main {
|
|
line-height: 50upx;
|
|
margin-top: 10upx;
|
|
font-size: 30upx;
|
|
color: #666;
|
|
}
|
|
|
|
.studies_wrap-bottom {
|
|
width: 100%;
|
|
display: flex;
|
|
border-top: 1upx solid #eee;
|
|
padding: 20upx 0;
|
|
margin-top: 10upx;
|
|
font-size: 30upx;
|
|
color: #999;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
|
|
.flex {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
image {
|
|
width: 40upx;
|
|
height: 42upx;
|
|
}
|
|
|
|
view {
|
|
margin-left: 10upx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.fcb {
|
|
color: #3377ff;
|
|
}
|
|
|
|
.fcg {
|
|
color: #33c76d;
|
|
}
|
|
|
|
.fch {
|
|
color: #999;
|
|
}
|
|
}
|
|
</style>
|