Merge branch '20250708_add_wzy' into master-0720-lyc

# Conflicts:
#	src/views/study/coursenew.vue
This commit is contained in:
joshen
2025-07-22 11:31:18 +08:00
21 changed files with 321 additions and 83 deletions

1
lexiang-sso-77deb595.txt Normal file
View File

@@ -0,0 +1 @@
60ab8a4b97b446b2dcd32889

View File

@@ -34,9 +34,48 @@ const userRsSginupCourse = function(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 {
getTaskNum,
userTaskList,
userDeleteStudy,
userRsSginupCourse
userRsSginupCourse,
getStudntProjectInfo,
signUpBpmProjectNow,
signUpBpmProjectAgain,
getNewSocialHireProject
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -48,13 +48,17 @@ export default {
let name = '';
if (this.course && this.course.name && this.course.name !== '') {
name = this.course.name.replace('color:#FF0000', 'color:#fff');
console.log("name gengxindata1 : ",name)
}
if (this.course && this.course.courseName && this.course.courseName !== '') {
name = this.course.courseName.replace('color:#FF0000', 'color:#fff');
console.log("name gengxindata2 : ",name)
}
if (this.course && this.course.title && this.course.title !== '') {
name = this.course.title.replace('color:#FF0000', 'color:#fff');
console.log("name gengxindata3 : ",name)
}
console.log("name gengxindata4 : ",name)
return name;
// course.name || course.courseName || course.title
},

View File

@@ -97,7 +97,7 @@
<a style="display: flex;align-items: center;" @click="showReply(com)">
<!-- <svg-icon icon-class="comment" style="margin-right: 0px;font-size: 16px;"></svg-icon> -->
<div class="is_comment"></div>
<span>回复</span>
<span>回复</span>
</a>
<!--必须当前登录人是一个人-->
<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.loadData(false);
}
},
@@ -633,6 +633,7 @@
this.$message.error(res.message);
}
});
this.loadData(false);
},
delCommnet(com,idx){
if(com.replyList!='' && com.replyList.length>0){

View File

@@ -137,6 +137,30 @@
</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>
<popup></popup><yearMedal></yearMedal>
</div>
@@ -144,6 +168,7 @@
<script>
import { mapGetters, mapActions } from 'vuex';
import apiMessage from '@/api/system/message.js';
import apiManage from '@/api/manage/manage.js';
import popup from '@/components/AlertPopup.vue';
import yearMedal from '@/components/Popup/China2023.vue';
import apiBoeCourse from '@/api/boe/course.js';
@@ -204,6 +229,8 @@ export default {
keyword: '',
isTiao: false,
sex:'',
projectDialogVisible: false,
studentInfo: {},
};
},
mounted() {
@@ -214,7 +241,22 @@ export default {
//this.loadPopupConfig();
},
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){
this.$store.dispatch('SetCurIdentity',iden);
},
@@ -255,7 +297,29 @@ export default {
if (val === "four") {
window.open("https://m.qingxuetang.com/x/?appId=qxtcorp306130")
// 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&params=' + params);
}else if(bpmStatus == 3){//已拒绝--则弹窗含“重新报名”
this.studentInfo.bpmStatusName="已拒绝(含个人撤回)";
this.projectDialogVisible=true;
}
})
} else {
let urlPre = window.location.protocol + "//" + window.location.host;
// process.env.VUE_APP_BOE_WEB_URL
let obj = {
@@ -264,7 +328,7 @@ export default {
two: urlPre + "/grow180/login",
three: this.webBaseUrl + "/study/index?study=1",
// 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",
seven: this.webBaseUrl + '/grateful/index'
};
@@ -598,4 +662,27 @@ text-align: center;
margin-right: 8px;
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>

View File

@@ -73,59 +73,51 @@ export default {
},
methods: {
down(e) {
// if(this.isDrag) {
this.$emit("getMouseDownStatus", true);
this.is_mousedown_progress = true;
// 获取完整进度条的clientXdom左上角
let init_clientX = this.dom_full.getBoundingClientRect().left;
// 计算调整后的当前进度条的长度
this.current_width_px = e.clientX - init_clientX;
// 设置当前的播放进度(同时作用于当前进度条的样式)
let current = (e.clientX - init_clientX) / this.dom_full.clientWidth;
if(current>1) current = 1;
if(current<0) current = 0;
var time = localStorage.getItem('videoProgressData');
var arr = time&&JSON.parse(time) || {}
//console.log('down arr:',this.isDrag,this.blobId,arr,arr[this.blobId],current)
// 禁止拖动
if(!this.isDrag && time && arr[this.blobId] < current) return;
this.$emit("updateProgress", current);
// }
if (!this.isDrag) return;
this.$emit("getMouseDownStatus", true);
this.is_mousedown_progress = true;
// 获取完整进度条的clientXdom左上角
let init_clientX = this.dom_full.getBoundingClientRect().left;
// 计算调整后的当前进度条的长度
this.current_width_px = e.clientX - init_clientX;
// 设置当前的播放进度(同时作用于当前进度条的样式)
let current = (e.clientX - init_clientX) / this.dom_full.clientWidth;
if(current>1) current = 1;
if(current<0) current = 0;
var time = localStorage.getItem('videoProgressData');
var arr = time&&JSON.parse(time) || {}
// 禁止拖动
if(time && arr[this.blobId] < current) return;
this.$emit("updateProgress", current);
},
move(e) {
if (this.is_mousedown_progress) {
let init_clientX = this.dom_full.getBoundingClientRect().left;
this.current_width_px = e.clientX - init_clientX;
let current = (e.clientX - init_clientX) / this.dom_full.clientWidth;
if(current>1) current = 1;
if(current<0) current = 0;
var time = localStorage.getItem('videoProgressData');
var arr = time&&JSON.parse(time) || {}
//console.log('move arr:',this.isDrag,this.blobId,arr,arr[this.blobId],current)
// 禁止拖动
if(!this.isDrag && time && arr[this.blobId] < current) return;
this.$emit("updateProgress", current);
}
if (!this.isDrag || !this.is_mousedown_progress) return;
let init_clientX = this.dom_full.getBoundingClientRect().left;
this.current_width_px = e.clientX - init_clientX;
let current = (e.clientX - init_clientX) / this.dom_full.clientWidth;
if(current>1) current = 1;
if(current<0) current = 0;
var time = localStorage.getItem('videoProgressData');
var arr = time&&JSON.parse(time) || {}
// 禁止拖动
if(time && arr[this.blobId] < current) return;
this.$emit("updateProgress", current);
},
up() {
if (this.is_mousedown_progress) {
// 标记鼠标不处于按下的状态了
this.is_mousedown_progress = false;
// 松开鼠标后即调整进度条后此时的进度0-1
let current = this.current_width_px / this.dom_full.clientWidth;
if(current>1) current = 1;
if(current<0) current = 0;
var time = localStorage.getItem('videoProgressData');
var arr = time&&JSON.parse(time) || {}
//console.log('up arr:',this.isDrag,this.blobId,arr,arr[this.blobId],current)
this.$emit("getMouseDownStatus", false);
// 禁止拖动
if(!this.isDrag && time && arr[this.blobId] < current) return;
this.$emit("updateProgress", current);
}
if (!this.isDrag || !this.is_mousedown_progress) return;
// 标记鼠标不处于按下的状态了
this.is_mousedown_progress = false;
// 松开鼠标后即调整进度条后此时的进度0-1
let current = this.current_width_px / this.dom_full.clientWidth;
if(current>1) current = 1;
if(current<0) current = 0;
var time = localStorage.getItem('videoProgressData');
var arr = time&&JSON.parse(time) || {}
this.$emit("getMouseDownStatus", false);
// 禁止拖动
if(time && arr[this.blobId] < current) return;
this.$emit("updateProgress", current);
},
},
};

View File

@@ -624,8 +624,12 @@ export default {
// if(item.minute){
// item.duration=parseFloat(item.minute)*60;
// }
// 如果没有给一个默认值30分钟
item.duration = item.minute ? parseFloat(item.minute) * 60 : 1800;
// 视频文件才可以设置时长其他类型直接赋值0
if (item.fileType === 'mp4' || item.fileType === 'mp3') {
item.duration = item.minute ? parseFloat(item.minute) * 60 : 0;
} else {
item.duration = 0;
}
});
this.loading = true;
coueseFile.batchUpdate(this.fileList).then(rs => {

View File

@@ -9,7 +9,7 @@
<img class="img" @click="goLearn('1351506180295131136')" src="../../assets/images/hotforum/2501.jpg" alt="">
</div>
<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 class="line" style="margin: 0 auto;margin-top: 60px;width: 100%;text-align: center;">

View File

@@ -0,0 +1 @@
60ab8a4b97b446b2dcd32889

View File

@@ -652,7 +652,7 @@ export default {
},
getCaseData() {
// 清空pdf数据
this.pdfPath = '';
// this.pdfPath = '';
let $this = this;
apiCase.details(this.resolveId, true).then(res => {

View File

@@ -196,7 +196,7 @@
<div @click="toCaseDetail(item.id, item.refId)" style="cursor: pointer;">
<div v-if="isTime" class="case_text">
<span style="margin-right:28px">阅读了案例</span>
<span>{{ item.eventTime }}</span>
<span>{{ formatDateTime(item.eventTime) }}</span>
</div>
<div class="case-info-title">
<div class="case-titdiv">
@@ -664,6 +664,12 @@ export default {
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) {
const isScroll = 'caseDetail,caseCharts,caseExcellent'
if(!isScroll.includes(to.name)){
@@ -1507,7 +1513,7 @@ export default {
};
});
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.getCaseUserData(res.result.list);
@@ -1562,7 +1568,7 @@ export default {
};
});
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.getCaseUserData(res.result.list);
@@ -1605,7 +1611,7 @@ export default {
}
console.log(res?.result?.list ,'有没有数据1');
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');
this.caseList.list = res.result.list

View File

@@ -486,6 +486,32 @@
</div>
</div>
</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>
</template>
@@ -507,6 +533,7 @@ import apiTeacher from "@/api/modules/teacher.js";
import apiUser from "@/api/system/user.js";
import scene from "@/api/modules/scene.js";
import apiUserbasic from "@/api/boe/userbasic.js";
import apiManage from '@/api/manage/manage.js';
import interactBar from "@/components/Portal/interactBar.vue";
import courseImage from "@/components/Course/courseImage.vue";
import { courseType, getType, toScore, formatDate, formatUserNumber, formatDateByFmt } from "@/utils/tools.js";
@@ -619,6 +646,7 @@ export default {
twoId: '',
count: 0,//分页总条条数
showUClass: false,
projectDialogVisible: false,
ctypeList: [
{ type: 1, id: 20, name: '录播课', checked: false },
{ type: 1, id: 30, name: '线下课', checked: false },
@@ -629,7 +657,7 @@ export default {
twoList: [], //二级分类{type:12}
threeList: [],//三级分类{type:13}
searching: false,//是否正在搜索中
studentInfo: {},
resonimg: {},
formatDate,
formatNum: formatUserNumber,
@@ -769,6 +797,24 @@ export default {
// window.removeEventListener("scroll", this.handleScroll);
},
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) {
this.course.pageIndex = val
@@ -1216,9 +1262,33 @@ export default {
let params = encodeURIComponent('courseId=' + courseId);
this.$router.push('/forward?to=' + manageApi + '/stu/project/redirectDetail&params=' + params);
} else if (item.type == 40) { //学习项目
let params = encodeURIComponent('projectId=' + courseId);
this.$router.push('/forward?to=' + studentPath + '/projectdetails&params=' + params);
//this.$router.push('/forward?to='+manageApi+'/stu/project/redirectDetail&params='+params);
if (item.bpmFlag == 1) { //是否是需要BPM审批的项目(新员工转正项目)
//检查当前用户是否已经报名该项目(“未报名”、“审批中”和“审核拒绝”--则弹窗!--“立即报名”和“重新报名"调BPM接口)
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&params=' + 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&params=' + params);
//this.$router.push('/forward?to='+manageApi+'/stu/project/redirectDetail&params='+params);
}
}
} else {
if (item.type == 10) {
@@ -2421,4 +2491,31 @@ console.log(res.result.list,'data')
.option-active {
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>

View File

@@ -95,7 +95,10 @@
<div v-if="coursewareInfo.content.contentType == 52">
<div class="hyper-link" v-if="conLink.openType==2">
<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 v-if="conLink.openType==1">
<iframe :src="conLink.url" style="width: 100%;border:0px;min-height: 473px;border:0px" border="0" frameborder="0"></iframe>

View File

@@ -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>
<div style="cursor: pointer; text-align: right;cursor: pointer;" v-if="qa.images!==''" @click="jumpDetail(qa)">
<img style="width: 156px;height: 105px;border-radius: 4px;margin-left: 18px;" :src="fileBaseUrl + qa.images" alt="">
<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="图片貌似被外星人劫走了">
</div>
</div>

View File

@@ -349,6 +349,7 @@ export default {
this.$message.success('删除成功');
this.queryData.pageIndex = 1;
this.queryMessage(true);
this.$store.dispatch('refrashMsg');
} else {
this.$message.error('删除失败' + res.message);
}
@@ -366,6 +367,7 @@ export default {
this.$message.success('删除成功');
this.queryData.pageIndex = 1;
this.queryMessage(true);
this.$store.dispatch('refrashMsg');
} else {
this.$message.error('删除失败' + res.message);
}

View File

@@ -306,8 +306,8 @@ export default {
},
viewTopic(data) {
// window.open(this.webBaseUrl+'/qa/answer?id='+data.id, '_blank');
this.$router.push({path:'/qa/answer',query:{id:data.id}})
window.open(this.webBaseUrl+'/qa/answer?id='+data.id, '_blank');
// this.$router.push({path:'/qa/answer',query:{id:data.id}})
},
aduit(row) {
this.form={...row};

View File

View File

@@ -140,6 +140,7 @@ export default {
headers:{token:getToken(),}
}).then((res) => {
console.log('111',res.data.result)
console.log('111 gx2',res.data.result)
// 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.project=Math.floor(res.data.result.project.total === 0 ? 0: (res.data.result.project.completion/res.data.result.project.total)*100)

View File

@@ -23,7 +23,7 @@
</span>
<el-dropdown-menu slot="dropdown">
<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="months">本月</el-dropdown-item>
<el-dropdown-item command="years">本年</el-dropdown-item> -->
@@ -33,10 +33,10 @@
</div>
<div class="myselftext">
<div class="myranking">
{{isNow ? '当前' : '累计'}}排名 : <span> {{currentUserRankingTotalData.rankNo}}</span>
{{isNow ? '当前' : '累计'}}排名 : <span> {{currentUserRankingTotalData.rankNo}}</span>
</div>
<div class="myexperience">
{{isNow ? '当前' : '累计'}}经验值 : <span>{{currentUserRankingTotalData.rankValue}}</span>
{{isNow ? '当前' : '累计'}}经验值 : <span>{{currentUserRankingTotalData.rankValue}}</span>
</div>
</div>
@@ -117,7 +117,7 @@
</span>
<el-dropdown-menu slot="dropdown">
<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="months">本月</el-dropdown-item>
<el-dropdown-item command="years">本年</el-dropdown-item> -->
@@ -127,10 +127,10 @@
</div>
<div class="myselftext">
<div class="myranking">
{{isStudyTime ? '当前' : '累计'}}排名 : <span> {{learningDurationTotalData.rankNo}}</span>
{{isStudyTime ? '当前' : '累计'}}排名 : <span> {{learningDurationTotalData.rankNo}}</span>
</div>
<div class="myexperience">
{{isStudyTime ? '当前' : '累计'}}学习时长: <span> {{formatSecondToHour(learningDurationTotalData.rankValue)}}</span> h
{{isStudyTime ? '当前' : '累计'}}学习时长: <span> {{formatSecondToHour(learningDurationTotalData.rankValue)}}</span> h
</div>
</div>
<div class="exp-table" style="margin-top:20px;">
@@ -206,7 +206,7 @@
</span>
<el-dropdown-menu slot="dropdown">
<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="months">本月</el-dropdown-item>
<el-dropdown-item command="years">本年</el-dropdown-item> -->
@@ -216,10 +216,10 @@
</div>
<div class="myselftext">
<div class="myranking">
{{isStudyDay ? '当前' : '累计'}}排名 : <span> {{learningDaysTotalData.rankNo}}</span>
{{isStudyDay ? '当前' : '累计'}}排名 : <span> {{learningDaysTotalData.rankNo}}</span>
</div>
<div class="myexperience">
{{isStudyDay ? '当前' : '累计'}}学习天数 : <span>{{learningDaysTotalData.rankValue}}</span>
{{isStudyDay ? '当前' : '累计'}}学习天数 : <span>{{learningDaysTotalData.rankValue}}</span>
</div>
</div>
<div class="exp-table" style="margin-top:20px;">
@@ -311,7 +311,7 @@ export default {
formatSecondToHour:formatSecondToHour,
experience:{
field:'now',
name:'当前',
name:'当前',
data:{
rankingNo:0,
total:0
@@ -320,7 +320,7 @@ export default {
},
learningDuration:{
field:'now',
name:'当前',
name:'当前',
data:{
rankingNo:0,
total:0