mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-10 19:36:43 +08:00
Merge remote-tracking branch '121/master-0720-lyc' into 121-master-0720-lyc
This commit is contained in:
1
lexiang-sso-77deb595.txt
Normal file
1
lexiang-sso-77deb595.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
60ab8a4b97b446b2dcd32889
|
||||||
@@ -34,9 +34,48 @@ const userRsSginupCourse = function(data){
|
|||||||
return ajax.postJson(baseURL,'/stu/project/stuCancelEnrollment',data);
|
return ajax.postJson(baseURL,'/stu/project/stuCancelEnrollment',data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取学员指定新员工转正项目的bpm审批状况
|
||||||
|
* {studentId,pid}
|
||||||
|
* add by zhengsongbo on 2025-07-12
|
||||||
|
*/
|
||||||
|
const getStudntProjectInfo = function(pid){
|
||||||
|
return ajax.get(baseURL,`/stu/project/queryStudentInfo?pid=${pid}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BPM项目:立即报名
|
||||||
|
* pid
|
||||||
|
* add by zhengsongbo on 2025-07-13
|
||||||
|
*/
|
||||||
|
const signUpBpmProjectNow = function(pid){
|
||||||
|
return ajax.get(baseURL,`/stu/project/signUpBpmProjectNow?pid=${pid}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BPM项目:重新报名
|
||||||
|
* pid
|
||||||
|
* add by zhengsongbo on 2025-07-13
|
||||||
|
*/
|
||||||
|
const signUpBpmProjectAgain = function(data){
|
||||||
|
return ajax.postJson(baseURL,'/stu/project/signUpBpmProjectAgain',data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 社招新员工
|
||||||
|
* add by zhengsongbo on 2025-07-14
|
||||||
|
*/
|
||||||
|
const getNewSocialHireProject = function(){
|
||||||
|
return ajax.get(baseURL,'/stu/project/getNewSocialHireProject');
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
getTaskNum,
|
getTaskNum,
|
||||||
userTaskList,
|
userTaskList,
|
||||||
userDeleteStudy,
|
userDeleteStudy,
|
||||||
userRsSginupCourse
|
userRsSginupCourse,
|
||||||
|
getStudntProjectInfo,
|
||||||
|
signUpBpmProjectNow,
|
||||||
|
signUpBpmProjectAgain,
|
||||||
|
getNewSocialHireProject
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
src/assets/images/grateful/gratefulFooter20250611.png
Normal file
BIN
src/assets/images/grateful/gratefulFooter20250611.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 437 KiB |
BIN
src/assets/images/project/title-bg.png
Normal file
BIN
src/assets/images/project/title-bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
@@ -48,13 +48,17 @@ export default {
|
|||||||
let name = '';
|
let name = '';
|
||||||
if (this.course && this.course.name && this.course.name !== '') {
|
if (this.course && this.course.name && this.course.name !== '') {
|
||||||
name = this.course.name.replace('color:#FF0000', 'color:#fff');
|
name = this.course.name.replace('color:#FF0000', 'color:#fff');
|
||||||
|
console.log("name gengxindata1 : ",name)
|
||||||
}
|
}
|
||||||
if (this.course && this.course.courseName && this.course.courseName !== '') {
|
if (this.course && this.course.courseName && this.course.courseName !== '') {
|
||||||
name = this.course.courseName.replace('color:#FF0000', 'color:#fff');
|
name = this.course.courseName.replace('color:#FF0000', 'color:#fff');
|
||||||
|
console.log("name gengxindata2 : ",name)
|
||||||
}
|
}
|
||||||
if (this.course && this.course.title && this.course.title !== '') {
|
if (this.course && this.course.title && this.course.title !== '') {
|
||||||
name = this.course.title.replace('color:#FF0000', 'color:#fff');
|
name = this.course.title.replace('color:#FF0000', 'color:#fff');
|
||||||
|
console.log("name gengxindata3 : ",name)
|
||||||
}
|
}
|
||||||
|
console.log("name gengxindata4 : ",name)
|
||||||
return name;
|
return name;
|
||||||
// course.name || course.courseName || course.title
|
// course.name || course.courseName || course.title
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -97,7 +97,7 @@
|
|||||||
<a style="display: flex;align-items: center;" @click="showReply(com)">
|
<a style="display: flex;align-items: center;" @click="showReply(com)">
|
||||||
<!-- <svg-icon icon-class="comment" style="margin-right: 0px;font-size: 16px;"></svg-icon> -->
|
<!-- <svg-icon icon-class="comment" style="margin-right: 0px;font-size: 16px;"></svg-icon> -->
|
||||||
<div class="is_comment"></div>
|
<div class="is_comment"></div>
|
||||||
<span>回复</span>
|
<span>回复</span>
|
||||||
</a>
|
</a>
|
||||||
<!--必须当前登录人是一个人-->
|
<!--必须当前登录人是一个人-->
|
||||||
<a style="display: flex;align-items: center;" v-if="userInfo.aid==com.sysCreateAid" @click="delCommnet(com,comIdx)">
|
<a style="display: flex;align-items: center;" v-if="userInfo.aid==com.sysCreateAid" @click="delCommnet(com,comIdx)">
|
||||||
@@ -558,7 +558,7 @@
|
|||||||
this.$message.error(res.message);
|
this.$message.error(res.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
this.loadData(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -633,6 +633,7 @@
|
|||||||
this.$message.error(res.message);
|
this.$message.error(res.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
this.loadData(false);
|
||||||
},
|
},
|
||||||
delCommnet(com,idx){
|
delCommnet(com,idx){
|
||||||
if(com.replyList!='' && com.replyList.length>0){
|
if(com.replyList!='' && com.replyList.length>0){
|
||||||
|
|||||||
@@ -137,6 +137,30 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- "社招新员工转正培训项目简介"弹框 -->
|
||||||
|
<el-dialog width="733px"
|
||||||
|
:visible.sync="projectDialogVisible"
|
||||||
|
:append-to-body="true"
|
||||||
|
>
|
||||||
|
<div class="el-dialog__header">
|
||||||
|
<span style="font-size: 35px; font-weight: bold; color: white; margin: 60px;line-height: 100px;">项目简介</span>
|
||||||
|
</div>
|
||||||
|
<div style="height: 280px;margin: 0px 40px 0px 40px;">
|
||||||
|
<span v-html="studentInfo.introduction"></span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span style="font-size: 14px; margin: 40px;" v-if="studentInfo.bpmStatus!=0">审批编号:<span style="font-weight: bold;">{{studentInfo.bpmNumber}}</span></span>
|
||||||
|
<br/>
|
||||||
|
<span style="font-size: 14px; margin: 40px;">审批状态:<span style="font-weight: bold; color: #efbf82">{{studentInfo.bpmStatusName}}</span></span>
|
||||||
|
</div>
|
||||||
|
<template #footer>
|
||||||
|
<span class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="signUpNow" v-if="studentInfo.bpmStatus==0">立即报名</el-button>
|
||||||
|
<el-button v-if="studentInfo.bpmStatus==1" disabled>审批中</el-button>
|
||||||
|
<el-button type="primary" @click="signUpAgain" v-if="studentInfo.bpmStatus==3">重新报名</el-button>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
<popup></popup><yearMedal></yearMedal>
|
<popup></popup><yearMedal></yearMedal>
|
||||||
</div>
|
</div>
|
||||||
@@ -144,6 +168,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { mapGetters, mapActions } from 'vuex';
|
import { mapGetters, mapActions } from 'vuex';
|
||||||
import apiMessage from '@/api/system/message.js';
|
import apiMessage from '@/api/system/message.js';
|
||||||
|
import apiManage from '@/api/manage/manage.js';
|
||||||
import popup from '@/components/AlertPopup.vue';
|
import popup from '@/components/AlertPopup.vue';
|
||||||
import yearMedal from '@/components/Popup/China2023.vue';
|
import yearMedal from '@/components/Popup/China2023.vue';
|
||||||
import apiBoeCourse from '@/api/boe/course.js';
|
import apiBoeCourse from '@/api/boe/course.js';
|
||||||
@@ -204,6 +229,8 @@ export default {
|
|||||||
keyword: '',
|
keyword: '',
|
||||||
isTiao: false,
|
isTiao: false,
|
||||||
sex:'',
|
sex:'',
|
||||||
|
projectDialogVisible: false,
|
||||||
|
studentInfo: {},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -214,7 +241,22 @@ export default {
|
|||||||
//this.loadPopupConfig();
|
//this.loadPopupConfig();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
//BPM项目:立即报名
|
||||||
|
signUpNow(){
|
||||||
|
const pid = this.studentInfo.projectId;
|
||||||
|
apiManage.signUpBpmProjectNow(pid).then(res=>{
|
||||||
|
this.projectDialogVisible = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//BPM项目:重新报名
|
||||||
|
signUpAgain(){
|
||||||
|
const pid = this.studentInfo.projectId;
|
||||||
|
const studentId=this.studentInfo.studentId;
|
||||||
|
const data = {"pid":pid,"studentId":studentId};
|
||||||
|
apiManage.signUpBpmProjectAgain(data).then(res=>{
|
||||||
|
this.projectDialogVisible = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
setCurIdentity(iden){
|
setCurIdentity(iden){
|
||||||
this.$store.dispatch('SetCurIdentity',iden);
|
this.$store.dispatch('SetCurIdentity',iden);
|
||||||
},
|
},
|
||||||
@@ -255,7 +297,29 @@ export default {
|
|||||||
if (val === "four") {
|
if (val === "four") {
|
||||||
window.open("https://m.qingxuetang.com/x/?appId=qxtcorp306130")
|
window.open("https://m.qingxuetang.com/x/?appId=qxtcorp306130")
|
||||||
// this.$emit('showClass',true)
|
// this.$emit('showClass',true)
|
||||||
} else {
|
} else if(val === "five"){//new社招新员工项目(需BPM审批报名--唯一,如果不唯一,取发布时间最新的)
|
||||||
|
let studentPath = process.env.VUE_APP_STUDENT_PATH;
|
||||||
|
apiManage.getNewSocialHireProject().then(res=>{
|
||||||
|
this.studentInfo = res.data;
|
||||||
|
const bpmStatus = this.studentInfo.bpmStatus;
|
||||||
|
if (bpmStatus == 0){//未报名--则弹窗含“立即报名”
|
||||||
|
this.studentInfo.bpmStatusName="未报名";
|
||||||
|
this.projectDialogVisible=true;
|
||||||
|
|
||||||
|
}else if (bpmStatus == 1){//已报名待审核(审批中)--仅弹窗展示
|
||||||
|
this.studentInfo.bpmStatusName="审批中";
|
||||||
|
this.projectDialogVisible=true;
|
||||||
|
|
||||||
|
}else if (bpmStatus == 2){//bpm报名审核通过,则直接进入项目进行学习
|
||||||
|
let params = encodeURIComponent('projectId=' + this.studentInfo.projectId);
|
||||||
|
this.$router.push('/forward?to=' + studentPath + '/projectdetails¶ms=' + params);
|
||||||
|
}else if(bpmStatus == 3){//已拒绝--则弹窗含“重新报名”
|
||||||
|
this.studentInfo.bpmStatusName="已拒绝(含个人撤回)";
|
||||||
|
this.projectDialogVisible=true;
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
let urlPre = window.location.protocol + "//" + window.location.host;
|
let urlPre = window.location.protocol + "//" + window.location.host;
|
||||||
// process.env.VUE_APP_BOE_WEB_URL
|
// process.env.VUE_APP_BOE_WEB_URL
|
||||||
let obj = {
|
let obj = {
|
||||||
@@ -264,7 +328,7 @@ export default {
|
|||||||
two: urlPre + "/grow180/login",
|
two: urlPre + "/grow180/login",
|
||||||
three: this.webBaseUrl + "/study/index?study=1",
|
three: this.webBaseUrl + "/study/index?study=1",
|
||||||
// four: 'https://m.qingxuetang.com/x/?appId=qxtcorp306130',
|
// four: 'https://m.qingxuetang.com/x/?appId=qxtcorp306130',
|
||||||
five: urlPre + "/boe/new-employee/index.html",
|
// five: urlPre + "/boe/new-employee/index.html", //old社招新员工 zhengsongbo 注释掉 2025-07-14
|
||||||
six: urlPre + "/web/contributor/index",
|
six: urlPre + "/web/contributor/index",
|
||||||
seven: this.webBaseUrl + '/grateful/index'
|
seven: this.webBaseUrl + '/grateful/index'
|
||||||
};
|
};
|
||||||
@@ -598,4 +662,27 @@ text-align: center;
|
|||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
/* 项目简介 弹窗 ---start--- */
|
||||||
|
::v-deep .el-dialog__header {
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
::v-deep .el-dialog {
|
||||||
|
border-radius: 3% 3% 1% 1%;
|
||||||
|
}
|
||||||
|
.el-dialog__header {
|
||||||
|
height: 100px;
|
||||||
|
margin: 0 !important;
|
||||||
|
background-image: url('../assets/images/project/title-bg.png');
|
||||||
|
background-size: 100% 100%; /* 完全填充 */
|
||||||
|
display: block; /* 避免行内元素空隙 */
|
||||||
|
}
|
||||||
|
::v-deep .el-dialog__title {
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
::v-deep .el-dialog__body {
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
/* 项目简介 弹窗 ---end--- */
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -317,7 +317,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
console.log('当前状态:',this.currentProgress,this.isDrag,this.videoDom.currentTime , this.videoDom.duration)
|
// console.log('当前状态:',this.currentProgress,this.isDrag,this.videoDom.currentTime , this.videoDom.duration)
|
||||||
// 视频播放时本地记录视频实时播放时长,视频设置了禁止拖动时执行
|
// 视频播放时本地记录视频实时播放时长,视频设置了禁止拖动时执行
|
||||||
if(!this.isDrag){
|
if(!this.isDrag){
|
||||||
var time = localStorage.getItem('videoProgressData')
|
var time = localStorage.getItem('videoProgressData')
|
||||||
@@ -364,10 +364,10 @@ export default {
|
|||||||
}
|
}
|
||||||
// 根据视频的readyState判断下一帧是否已加载,并控制loading的显示
|
// 根据视频的readyState判断下一帧是否已加载,并控制loading的显示
|
||||||
this.isShowLoading = this.videoDom.readyState < 3;
|
this.isShowLoading = this.videoDom.readyState < 3;
|
||||||
console.log("当前缓存:"+this.videoDom.readyState)
|
// console.log("当前缓存:"+this.videoDom.readyState)
|
||||||
if (this.videoDom.readyState < 3){
|
if (this.videoDom.readyState < 3){
|
||||||
console.log("详细信息",this.videoDom)
|
// console.log("详细信息",this.videoDom)
|
||||||
console.log("卡了",this.videoDom.readyState)
|
// console.log("卡了",this.videoDom.readyState)
|
||||||
}
|
}
|
||||||
//if()
|
//if()
|
||||||
//console.log(this.videoDom.readyState,'this.videoDom.readyState');
|
//console.log(this.videoDom.readyState,'this.videoDom.readyState');
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ export default {
|
|||||||
},
|
},
|
||||||
isDrag:{
|
isDrag:{
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
|
||||||
},
|
},
|
||||||
blobId:{
|
blobId:{
|
||||||
type: String,
|
type: String,
|
||||||
@@ -86,10 +85,9 @@ export default {
|
|||||||
if(current<0) current = 0;
|
if(current<0) current = 0;
|
||||||
var time = localStorage.getItem('videoProgressData');
|
var time = localStorage.getItem('videoProgressData');
|
||||||
var arr = time&&JSON.parse(time) || {}
|
var arr = time&&JSON.parse(time) || {}
|
||||||
//console.log('down arr:',this.isDrag,this.blobId,arr,arr[this.blobId],current)
|
console.log('down arr:',this.isDrag,this.blobId,arr,arr[this.blobId],current)
|
||||||
// 禁止拖动
|
// 禁止拖动 true:禁止拖动,false:允许拖动
|
||||||
if(!this.isDrag && time && arr[this.blobId] < current) return;
|
if(!this.isDrag && time && arr[this.blobId] < current) return;
|
||||||
|
|
||||||
this.$emit("updateProgress", current);
|
this.$emit("updateProgress", current);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@@ -103,7 +101,7 @@ export default {
|
|||||||
if(current<0) current = 0;
|
if(current<0) current = 0;
|
||||||
var time = localStorage.getItem('videoProgressData');
|
var time = localStorage.getItem('videoProgressData');
|
||||||
var arr = time&&JSON.parse(time) || {}
|
var arr = time&&JSON.parse(time) || {}
|
||||||
//console.log('move arr:',this.isDrag,this.blobId,arr,arr[this.blobId],current)
|
console.log('move arr:',this.isDrag,this.blobId,arr,arr[this.blobId],current)
|
||||||
// 禁止拖动
|
// 禁止拖动
|
||||||
if(!this.isDrag && time && arr[this.blobId] < current) return;
|
if(!this.isDrag && time && arr[this.blobId] < current) return;
|
||||||
this.$emit("updateProgress", current);
|
this.$emit("updateProgress", current);
|
||||||
@@ -119,12 +117,12 @@ export default {
|
|||||||
if(current<0) current = 0;
|
if(current<0) current = 0;
|
||||||
var time = localStorage.getItem('videoProgressData');
|
var time = localStorage.getItem('videoProgressData');
|
||||||
var arr = time&&JSON.parse(time) || {}
|
var arr = time&&JSON.parse(time) || {}
|
||||||
//console.log('up arr:',this.isDrag,this.blobId,arr,arr[this.blobId],current)
|
console.log('up arr:',this.isDrag,this.blobId,arr,arr[this.blobId],current)
|
||||||
this.$emit("getMouseDownStatus", false);
|
this.$emit("getMouseDownStatus", false);
|
||||||
// 禁止拖动
|
// 禁止拖动
|
||||||
if(!this.isDrag && time && arr[this.blobId] < current) return;
|
if(!this.isDrag && time && arr[this.blobId] < current) return;
|
||||||
this.$emit("updateProgress", current);
|
this.$emit("updateProgress", current);
|
||||||
|
this.$emit("getMouseDownStatus", false);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -624,8 +624,12 @@ export default {
|
|||||||
// if(item.minute){
|
// if(item.minute){
|
||||||
// item.duration=parseFloat(item.minute)*60;
|
// item.duration=parseFloat(item.minute)*60;
|
||||||
// }
|
// }
|
||||||
// 如果没有给一个默认值30分钟
|
// 视频文件才可以设置时长,其他类型直接赋值0
|
||||||
item.duration = item.minute ? parseFloat(item.minute) * 60 : 1800;
|
if (item.fileType === 'mp4' || item.fileType === 'mp3') {
|
||||||
|
item.duration = item.minute ? parseFloat(item.minute) * 60 : 0;
|
||||||
|
} else {
|
||||||
|
item.duration = 0;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
coueseFile.batchUpdate(this.fileList).then(rs => {
|
coueseFile.batchUpdate(this.fileList).then(rs => {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<img class="img" @click="goLearn('1351506180295131136')" src="../../assets/images/hotforum/2501.jpg" alt="">
|
<img class="img" @click="goLearn('1351506180295131136')" src="../../assets/images/hotforum/2501.jpg" alt="">
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img class="img" @click="goLearn('1375146833375027200')" src="../../assets/images/hotforum/2503.png" alt="">
|
<img class="img" @click="goLearn('1375146833375027200')" src="../../assets/images/hotforum/2503.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line" style="margin: 0 auto;margin-top: 60px;width: 100%;text-align: center;">
|
<div class="line" style="margin: 0 auto;margin-top: 60px;width: 100%;text-align: center;">
|
||||||
|
|||||||
1
src/views/lexiang-sso-77deb595.txt
Normal file
1
src/views/lexiang-sso-77deb595.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
60ab8a4b97b446b2dcd32889
|
||||||
@@ -652,7 +652,7 @@ export default {
|
|||||||
},
|
},
|
||||||
getCaseData() {
|
getCaseData() {
|
||||||
// 清空pdf数据
|
// 清空pdf数据
|
||||||
this.pdfPath = '';
|
// this.pdfPath = '';
|
||||||
|
|
||||||
let $this = this;
|
let $this = this;
|
||||||
apiCase.details(this.resolveId, true).then(res => {
|
apiCase.details(this.resolveId, true).then(res => {
|
||||||
|
|||||||
@@ -196,7 +196,7 @@
|
|||||||
<div @click="toCaseDetail(item.id, item.refId)" style="cursor: pointer;">
|
<div @click="toCaseDetail(item.id, item.refId)" style="cursor: pointer;">
|
||||||
<div v-if="isTime" class="case_text">
|
<div v-if="isTime" class="case_text">
|
||||||
<span style="margin-right:28px">阅读了案例</span>
|
<span style="margin-right:28px">阅读了案例</span>
|
||||||
<span>{{ item.eventTime }}</span>
|
<span>{{ formatDateTime(item.eventTime) }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="case-info-title">
|
<div class="case-info-title">
|
||||||
<div class="case-titdiv">
|
<div class="case-titdiv">
|
||||||
@@ -664,6 +664,12 @@ export default {
|
|||||||
return !this.speciData.some(item => item.fielclass);
|
return !this.speciData.some(item => item.fielclass);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
formatDateTime(dateArray) {
|
||||||
|
if (!dateArray || dateArray.length !== 6) return '';
|
||||||
|
const [year, month, day, hour, minute, second] = dateArray;
|
||||||
|
const pad = (num) => num.toString().padStart(2, '0');
|
||||||
|
return `${year}-${pad(month)}-${pad(day)} ${pad(hour)}:${pad(minute)}:${pad(second)}`;
|
||||||
|
},
|
||||||
beforeRouteLeave (to, from, next) {
|
beforeRouteLeave (to, from, next) {
|
||||||
const isScroll = 'caseDetail,caseCharts,caseExcellent'
|
const isScroll = 'caseDetail,caseCharts,caseExcellent'
|
||||||
if(!isScroll.includes(to.name)){
|
if(!isScroll.includes(to.name)){
|
||||||
@@ -1507,7 +1513,7 @@ export default {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
res.result.list.forEach(item=>{
|
res.result.list.forEach(item=>{
|
||||||
item.viewRankTags = item.viewRankTags?.slice(0,2)||[]
|
item.viewRankTags = (item.viewRankTags||[]).slice(0,2)||[]
|
||||||
})
|
})
|
||||||
this.caseList.list = res.result.list
|
this.caseList.list = res.result.list
|
||||||
this.getCaseUserData(res.result.list);
|
this.getCaseUserData(res.result.list);
|
||||||
@@ -1562,7 +1568,7 @@ export default {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
res.result.list.forEach(item=>{
|
res.result.list.forEach(item=>{
|
||||||
item.viewRankTags = item.viewRankTags?.slice(0,2)||[]
|
item.viewRankTags = (item.viewRankTags||[]).slice(0,2)||[]
|
||||||
})
|
})
|
||||||
this.caseList.list = res.result.list
|
this.caseList.list = res.result.list
|
||||||
this.getCaseUserData(res.result.list);
|
this.getCaseUserData(res.result.list);
|
||||||
@@ -1605,7 +1611,7 @@ export default {
|
|||||||
}
|
}
|
||||||
console.log(res?.result?.list ,'有没有数据1');
|
console.log(res?.result?.list ,'有没有数据1');
|
||||||
res.result.list.forEach(item=>{
|
res.result.list.forEach(item=>{
|
||||||
item.viewRankTags = item.viewRankTags?.slice(0,2)||[]
|
item.viewRankTags = (item.viewRankTags||[]).slice(0,2)||[]
|
||||||
})
|
})
|
||||||
console.log(res?.result?.list ,'有没有数据2');
|
console.log(res?.result?.list ,'有没有数据2');
|
||||||
this.caseList.list = res.result.list
|
this.caseList.list = res.result.list
|
||||||
|
|||||||
@@ -486,6 +486,32 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<!-- "新员工项目简介""弹框 -->
|
||||||
|
<el-dialog width="733px" title="项目简介" top="80px"
|
||||||
|
:visible.sync="projectDialogVisible"
|
||||||
|
class="custom-class">
|
||||||
|
<div slot="header" class="el-dialog__header">
|
||||||
|
</div>
|
||||||
|
<div style="height: 300px;margin: 20px 40px 0px 40px;">
|
||||||
|
<span v-html="studentInfo.introduction"></span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span style="margin: 40px; font-size: 14px" v-if="studentInfo.bpmStatus!=0">
|
||||||
|
审批编号:<span style="font-weight: bold;">{{studentInfo.bpmNumber}}</span>
|
||||||
|
</span>
|
||||||
|
<br/>
|
||||||
|
<span style="margin: 40px; font-size: 14px">
|
||||||
|
审批状态:<span v-html="studentInfo.bpmStatusName"></span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<template #footer>
|
||||||
|
<span class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="signUpNow" v-if="studentInfo.bpmStatus==0">立即报名</el-button>
|
||||||
|
<el-button v-if="studentInfo.bpmStatus==1" disabled>审批中</el-button>
|
||||||
|
<el-button type="primary" @click="signUpAgain" v-if="studentInfo.bpmStatus==3">重新报名</el-button>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -507,6 +533,7 @@ import apiTeacher from "@/api/modules/teacher.js";
|
|||||||
import apiUser from "@/api/system/user.js";
|
import apiUser from "@/api/system/user.js";
|
||||||
import scene from "@/api/modules/scene.js";
|
import scene from "@/api/modules/scene.js";
|
||||||
import apiUserbasic from "@/api/boe/userbasic.js";
|
import apiUserbasic from "@/api/boe/userbasic.js";
|
||||||
|
import apiManage from '@/api/manage/manage.js';
|
||||||
import interactBar from "@/components/Portal/interactBar.vue";
|
import interactBar from "@/components/Portal/interactBar.vue";
|
||||||
import courseImage from "@/components/Course/courseImage.vue";
|
import courseImage from "@/components/Course/courseImage.vue";
|
||||||
import { courseType, getType, toScore, formatDate, formatUserNumber, formatDateByFmt } from "@/utils/tools.js";
|
import { courseType, getType, toScore, formatDate, formatUserNumber, formatDateByFmt } from "@/utils/tools.js";
|
||||||
@@ -619,6 +646,7 @@ export default {
|
|||||||
twoId: '',
|
twoId: '',
|
||||||
count: 0,//分页总条条数
|
count: 0,//分页总条条数
|
||||||
showUClass: false,
|
showUClass: false,
|
||||||
|
projectDialogVisible: false,
|
||||||
ctypeList: [
|
ctypeList: [
|
||||||
{ type: 1, id: 20, name: '录播课', checked: false },
|
{ type: 1, id: 20, name: '录播课', checked: false },
|
||||||
{ type: 1, id: 30, name: '线下课', checked: false },
|
{ type: 1, id: 30, name: '线下课', checked: false },
|
||||||
@@ -629,7 +657,7 @@ export default {
|
|||||||
twoList: [], //二级分类{type:12}
|
twoList: [], //二级分类{type:12}
|
||||||
threeList: [],//三级分类{type:13}
|
threeList: [],//三级分类{type:13}
|
||||||
searching: false,//是否正在搜索中
|
searching: false,//是否正在搜索中
|
||||||
|
studentInfo: {},
|
||||||
resonimg: {},
|
resonimg: {},
|
||||||
formatDate,
|
formatDate,
|
||||||
formatNum: formatUserNumber,
|
formatNum: formatUserNumber,
|
||||||
@@ -769,6 +797,24 @@ export default {
|
|||||||
// window.removeEventListener("scroll", this.handleScroll);
|
// window.removeEventListener("scroll", this.handleScroll);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
//BPM项目:立即报名
|
||||||
|
signUpNow(){
|
||||||
|
const pid = this.studentInfo.projectId;
|
||||||
|
apiManage.signUpBpmProjectNow(pid).then(res=>{
|
||||||
|
this.projectDialogVisible = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
//BPM项目:重新报名
|
||||||
|
signUpAgain(){
|
||||||
|
const pid = this.studentInfo.projectId;
|
||||||
|
const studentId=this.studentInfo.studentId;
|
||||||
|
const data = {"pid":pid,"studentId":studentId};
|
||||||
|
apiManage.signUpBpmProjectAgain(data).then(res=>{
|
||||||
|
this.projectDialogVisible = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
// 改变分页
|
// 改变分页
|
||||||
currentChange(val) {
|
currentChange(val) {
|
||||||
this.course.pageIndex = val
|
this.course.pageIndex = val
|
||||||
@@ -1216,9 +1262,33 @@ export default {
|
|||||||
let params = encodeURIComponent('courseId=' + courseId);
|
let params = encodeURIComponent('courseId=' + courseId);
|
||||||
this.$router.push('/forward?to=' + manageApi + '/stu/project/redirectDetail¶ms=' + params);
|
this.$router.push('/forward?to=' + manageApi + '/stu/project/redirectDetail¶ms=' + params);
|
||||||
} else if (item.type == 40) { //学习项目
|
} else if (item.type == 40) { //学习项目
|
||||||
let params = encodeURIComponent('projectId=' + courseId);
|
if (item.bpmFlag == 1) { //是否是需要BPM审批的项目(新员工转正项目)
|
||||||
this.$router.push('/forward?to=' + studentPath + '/projectdetails¶ms=' + params);
|
//检查当前用户是否已经报名该项目(“未报名”、“审批中”和“审核拒绝”--则弹窗!--“立即报名”和“重新报名"调BPM接口)
|
||||||
//this.$router.push('/forward?to='+manageApi+'/stu/project/redirectDetail¶ms='+params);
|
apiManage.getStudntProjectInfo(courseId).then(res=>{
|
||||||
|
this.studentInfo = res.data;
|
||||||
|
const bpmStatus = this.studentInfo.bpmStatus;
|
||||||
|
if (bpmStatus == 0){//未报名--则弹窗含“立即报名”
|
||||||
|
this.projectDialogVisible=true;
|
||||||
|
this.studentInfo.bpmStatusName="<span style='color: #ddc507;font-weight: bold;'>未报名</span>";
|
||||||
|
|
||||||
|
}else if (bpmStatus == 1){//已报名待审核(审批中)--仅弹窗展示
|
||||||
|
this.projectDialogVisible=true;
|
||||||
|
this.studentInfo.bpmStatusName="<span style='color: #ddc507;font-weight: bold;'>审批中</span>";
|
||||||
|
|
||||||
|
}else if (bpmStatus == 2){//bpm报名审核通过,则直接进入项目进行学习
|
||||||
|
let params = encodeURIComponent('projectId=' + courseId);
|
||||||
|
this.$router.push('/forward?to=' + studentPath + '/projectdetails¶ms=' + params);
|
||||||
|
}else if(bpmStatus == 3){//已拒绝--则弹窗含“重新报名”
|
||||||
|
this.projectDialogVisible=true;
|
||||||
|
this.studentInfo.bpmStatusName="<span style='color: red;font-weight: bold;'>已拒绝(含个人撤回)</span>";
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
let params = encodeURIComponent('projectId=' + courseId);
|
||||||
|
this.$router.push('/forward?to=' + studentPath + '/projectdetails¶ms=' + params);
|
||||||
|
//this.$router.push('/forward?to='+manageApi+'/stu/project/redirectDetail¶ms='+params);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (item.type == 10) {
|
if (item.type == 10) {
|
||||||
@@ -2421,4 +2491,31 @@ console.log(res.result.list,'data')
|
|||||||
|
|
||||||
.option-active {
|
.option-active {
|
||||||
color: #387DF7;
|
color: #387DF7;
|
||||||
}</style>
|
}
|
||||||
|
/* 项目简介 方法一:外部 CSS 类 */
|
||||||
|
::v-deep.el-dialog {
|
||||||
|
border-radius: 3% 3% 1% 1%;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
::v-deep.custom-class .el-dialog__header {
|
||||||
|
height: 100px;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
background-image: url('../../../assets/images/project/title-bg.png');
|
||||||
|
background-size: 100% 100%; /* 完全填充 */
|
||||||
|
display: block; /* 避免行内元素空隙 */
|
||||||
|
}
|
||||||
|
::v-deep.custom-class .el-dialog__header .el-dialog__title {
|
||||||
|
padding: 0 !important;
|
||||||
|
font-size: 35px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: white;
|
||||||
|
margin: 60px;
|
||||||
|
line-height: 100px;
|
||||||
|
}
|
||||||
|
::v-deep.custom-class .el-dialog__body {
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
/* ---end--- */
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -95,7 +95,10 @@
|
|||||||
<div v-if="coursewareInfo.content.contentType == 52">
|
<div v-if="coursewareInfo.content.contentType == 52">
|
||||||
<div class="hyper-link" v-if="conLink.openType==2">
|
<div class="hyper-link" v-if="conLink.openType==2">
|
||||||
<div class="hyper-link-row">课程内容是外部连接</div>
|
<div class="hyper-link-row">课程内容是外部连接</div>
|
||||||
<div class="hyper-link-row">{{conLink.url}}</div>
|
<!-- <div class="hyper-link-row">{{conLink.url}}</div>-->
|
||||||
|
<div class="hyper-link-row">
|
||||||
|
<el-button @click="widthOpen(conLink.url)" type="primary" style="margin-left: 15px">点击前往</el-button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="conLink.openType==1">
|
<div v-if="conLink.openType==1">
|
||||||
<iframe :src="conLink.url" style="width: 100%;border:0px;min-height: 473px;border:0px" border="0" frameborder="0"></iframe>
|
<iframe :src="conLink.url" style="width: 100%;border:0px;min-height: 473px;border:0px" border="0" frameborder="0"></iframe>
|
||||||
|
|||||||
@@ -48,8 +48,8 @@
|
|||||||
<div class="qa-info-summary portal-summary-text" :class="qa.images==''? 'two-line-ellipsis':'four-line-ellipsis'" @click="jumpDetail(qa)" v-html="$keywordActiveShow(qa.content,queryKeyWord)">
|
<div class="qa-info-summary portal-summary-text" :class="qa.images==''? 'two-line-ellipsis':'four-line-ellipsis'" @click="jumpDetail(qa)" v-html="$keywordActiveShow(qa.content,queryKeyWord)">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div style="cursor: pointer; text-align: right;cursor: pointer;" v-if="qa.images!==''" @click="jumpDetail(qa)">
|
<div style="cursor: pointer; text-align: right;cursor: pointer;" v-if="qa.images && qa.images!==''" @click="jumpDetail(qa)">
|
||||||
<img style="width: 156px;height: 105px;border-radius: 4px;margin-left: 18px;" :src="fileBaseUrl + qa.images" alt="">
|
<img style="width: 156px;height: 105px;border-radius: 4px;margin-left: 18px;" :src="fileBaseUrl + qa.images" alt="图片貌似被外星人劫走了">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -349,6 +349,7 @@ export default {
|
|||||||
this.$message.success('删除成功');
|
this.$message.success('删除成功');
|
||||||
this.queryData.pageIndex = 1;
|
this.queryData.pageIndex = 1;
|
||||||
this.queryMessage(true);
|
this.queryMessage(true);
|
||||||
|
this.$store.dispatch('refrashMsg');
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('删除失败' + res.message);
|
this.$message.error('删除失败' + res.message);
|
||||||
}
|
}
|
||||||
@@ -366,6 +367,7 @@ export default {
|
|||||||
this.$message.success('删除成功');
|
this.$message.success('删除成功');
|
||||||
this.queryData.pageIndex = 1;
|
this.queryData.pageIndex = 1;
|
||||||
this.queryMessage(true);
|
this.queryMessage(true);
|
||||||
|
this.$store.dispatch('refrashMsg');
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('删除失败' + res.message);
|
this.$message.error('删除失败' + res.message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -306,8 +306,8 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
viewTopic(data) {
|
viewTopic(data) {
|
||||||
// window.open(this.webBaseUrl+'/qa/answer?id='+data.id, '_blank');
|
window.open(this.webBaseUrl+'/qa/answer?id='+data.id, '_blank');
|
||||||
this.$router.push({path:'/qa/answer',query:{id:data.id}})
|
// this.$router.push({path:'/qa/answer',query:{id:data.id}})
|
||||||
},
|
},
|
||||||
aduit(row) {
|
aduit(row) {
|
||||||
this.form={...row};
|
this.form={...row};
|
||||||
|
|||||||
0
src/views/study/@/assets/images/over.png
Normal file
0
src/views/study/@/assets/images/over.png
Normal file
@@ -140,6 +140,7 @@ export default {
|
|||||||
headers:{token:getToken(),}
|
headers:{token:getToken(),}
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
console.log('111',res.data.result)
|
console.log('111',res.data.result)
|
||||||
|
console.log('111 gx2',res.data.result)
|
||||||
// this.porcessData=response.data.data
|
// this.porcessData=response.data.data
|
||||||
this.porcessData.course=Math.floor(res.data.result.course.total === 0 ? 0: (res.data.result.course.completion/res.data.result.course.total)*100)
|
this.porcessData.course=Math.floor(res.data.result.course.total === 0 ? 0: (res.data.result.course.completion/res.data.result.course.total)*100)
|
||||||
this.porcessData.project=Math.floor(res.data.result.project.total === 0 ? 0: (res.data.result.project.completion/res.data.result.project.total)*100)
|
this.porcessData.project=Math.floor(res.data.result.project.total === 0 ? 0: (res.data.result.project.completion/res.data.result.project.total)*100)
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="total">累计</el-dropdown-item>
|
<el-dropdown-item command="total">累计</el-dropdown-item>
|
||||||
<el-dropdown-item command="now">当前</el-dropdown-item>
|
<el-dropdown-item command="now">当前年</el-dropdown-item>
|
||||||
<!-- <el-dropdown-item command="weeks">本周</el-dropdown-item>
|
<!-- <el-dropdown-item command="weeks">本周</el-dropdown-item>
|
||||||
<el-dropdown-item command="months">本月</el-dropdown-item>
|
<el-dropdown-item command="months">本月</el-dropdown-item>
|
||||||
<el-dropdown-item command="years">本年</el-dropdown-item> -->
|
<el-dropdown-item command="years">本年</el-dropdown-item> -->
|
||||||
@@ -33,10 +33,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="myselftext">
|
<div class="myselftext">
|
||||||
<div class="myranking">
|
<div class="myranking">
|
||||||
{{isNow ? '当前' : '累计'}}排名 : <span> {{currentUserRankingTotalData.rankNo}}</span>
|
{{isNow ? '当前年' : '累计'}}排名 : <span> {{currentUserRankingTotalData.rankNo}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="myexperience">
|
<div class="myexperience">
|
||||||
{{isNow ? '当前' : '累计'}}经验值 : <span>{{currentUserRankingTotalData.rankValue}}</span>
|
{{isNow ? '当前年' : '累计'}}经验值 : <span>{{currentUserRankingTotalData.rankValue}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="total">累计</el-dropdown-item>
|
<el-dropdown-item command="total">累计</el-dropdown-item>
|
||||||
<el-dropdown-item command="now">当前</el-dropdown-item>
|
<el-dropdown-item command="now">当前年</el-dropdown-item>
|
||||||
<!-- <el-dropdown-item command="weeks">本周</el-dropdown-item>
|
<!-- <el-dropdown-item command="weeks">本周</el-dropdown-item>
|
||||||
<el-dropdown-item command="months">本月</el-dropdown-item>
|
<el-dropdown-item command="months">本月</el-dropdown-item>
|
||||||
<el-dropdown-item command="years">本年</el-dropdown-item> -->
|
<el-dropdown-item command="years">本年</el-dropdown-item> -->
|
||||||
@@ -127,10 +127,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="myselftext">
|
<div class="myselftext">
|
||||||
<div class="myranking">
|
<div class="myranking">
|
||||||
{{isStudyTime ? '当前' : '累计'}}排名 : <span> {{learningDurationTotalData.rankNo}}</span>
|
{{isStudyTime ? '当前年' : '累计'}}排名 : <span> {{learningDurationTotalData.rankNo}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="myexperience">
|
<div class="myexperience">
|
||||||
{{isStudyTime ? '当前' : '累计'}}学习时长: <span> {{formatSecondToHour(learningDurationTotalData.rankValue)}}</span> h
|
{{isStudyTime ? '当前年' : '累计'}}学习时长: <span> {{formatSecondToHour(learningDurationTotalData.rankValue)}}</span> h
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="exp-table" style="margin-top:20px;">
|
<div class="exp-table" style="margin-top:20px;">
|
||||||
@@ -206,7 +206,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="total">累计</el-dropdown-item>
|
<el-dropdown-item command="total">累计</el-dropdown-item>
|
||||||
<!-- <el-dropdown-item command="now">当前</el-dropdown-item> -->
|
<el-dropdown-item command="now">当前年</el-dropdown-item>
|
||||||
<!-- <el-dropdown-item command="weeks">本周</el-dropdown-item>
|
<!-- <el-dropdown-item command="weeks">本周</el-dropdown-item>
|
||||||
<el-dropdown-item command="months">本月</el-dropdown-item>
|
<el-dropdown-item command="months">本月</el-dropdown-item>
|
||||||
<el-dropdown-item command="years">本年</el-dropdown-item> -->
|
<el-dropdown-item command="years">本年</el-dropdown-item> -->
|
||||||
@@ -216,10 +216,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="myselftext">
|
<div class="myselftext">
|
||||||
<div class="myranking">
|
<div class="myranking">
|
||||||
{{isStudyDay ? '当前' : '累计'}}排名 : <span> {{learningDaysTotalData.rankNo}}</span>
|
{{isStudyDay ? '当前年' : '累计'}}排名 : <span> {{learningDaysTotalData.rankNo}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="myexperience">
|
<div class="myexperience">
|
||||||
{{isStudyDay ? '当前' : '累计'}}学习天数 : <span>{{learningDaysTotalData.rankValue}}</span>
|
{{isStudyDay ? '当前年' : '累计'}}学习天数 : <span>{{learningDaysTotalData.rankValue}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="exp-table" style="margin-top:20px;">
|
<div class="exp-table" style="margin-top:20px;">
|
||||||
@@ -311,7 +311,7 @@ export default {
|
|||||||
formatSecondToHour:formatSecondToHour,
|
formatSecondToHour:formatSecondToHour,
|
||||||
experience:{
|
experience:{
|
||||||
field:'now',
|
field:'now',
|
||||||
name:'当前',
|
name:'当前年',
|
||||||
data:{
|
data:{
|
||||||
rankingNo:0,
|
rankingNo:0,
|
||||||
total:0
|
total:0
|
||||||
@@ -320,7 +320,7 @@ export default {
|
|||||||
},
|
},
|
||||||
learningDuration:{
|
learningDuration:{
|
||||||
field:'now',
|
field:'now',
|
||||||
name:'当前',
|
name:'当前年',
|
||||||
data:{
|
data:{
|
||||||
rankingNo:0,
|
rankingNo:0,
|
||||||
total:0
|
total:0
|
||||||
|
|||||||
Reference in New Issue
Block a user