Compare commits

...

40 Commits

Author SHA1 Message Date
emcchui
1843c9e6aa 去除姚吟添加的默认排序条件 2025-02-13 14:26:10 +08:00
joshen
ca25bd9d76 調試 2025-01-20 17:45:42 +08:00
joshen
091c09204f 案例查询 2025-01-20 17:33:09 +08:00
joshen
31be7b053e 調試 2025-01-18 18:39:03 +08:00
joshen
178431e7df 調試 2025-01-18 01:55:22 +08:00
joshen
efbf778d80 調試 2025-01-18 01:24:39 +08:00
joshen
14fdadcec3 調試 2025-01-18 01:24:10 +08:00
joshen
33feddbe3a 調試 2025-01-18 01:15:07 +08:00
joshen
7756c28679 調試 2025-01-18 01:13:55 +08:00
joshen
bb45487264 調試 2025-01-18 01:10:53 +08:00
joshen
df77e5c7dc 調試 2025-01-18 00:56:50 +08:00
joshen
b22dc4539a 調試 2025-01-18 00:47:29 +08:00
joshen
db024ebc2a 調試 2025-01-18 00:46:41 +08:00
joshen
5e7580a936 判空 2025-01-18 00:23:45 +08:00
joshen
5f9da5cf03 Merge branch 'zcwy_0822_case' into master_1202
# Conflicts:
#	src/views/hotforum/Index.vue
2024-12-27 16:15:16 +08:00
zhangsir
1b3064f2ab 替换图片 2024-12-27 16:11:01 +08:00
joshen
24be910b83 回退图片 2024-12-25 14:20:11 +08:00
joshen
6153daa98a Merge branch 'zcwy_0822_case' into master_1202
# Conflicts:
#	src/views/hotforum/Index.vue
2024-12-24 16:40:18 +08:00
zhangsir
c5f6f5c83e 替换图片 2024-12-24 16:22:37 +08:00
joshen
4d0cae9346 Merge branch 'zcwy_1127_teacher' into master_1202 2024-12-12 16:46:44 +08:00
zhangsir
5be181df8c 回退授课记录页面 2024-12-12 16:45:08 +08:00
joshen
67f2ff3e86 重新提交 2024-12-12 11:56:35 +08:00
joshen
3588ef3e67 回退 2024-12-12 11:42:11 +08:00
joshen
7fab8bb062 huancun 2024-12-12 11:12:54 +08:00
joshen
977af999a3 huancun 2024-12-12 11:10:03 +08:00
joshen
cc0362380e Merge branch 'zcwy_0822_case' into master_1202 2024-12-12 10:56:07 +08:00
zhangsir
45027ca77e 2024 2024-12-10 19:53:38 +08:00
joshen
83838b2c1a Merge branch 'zcwy_1127_teacher' into master_1202 2024-12-10 18:15:33 +08:00
zhangsir
acbacac737 讲师管理授课记录讲师端 2024-12-10 14:32:51 +08:00
joshen
f98fda4f78 Merge remote-tracking branch 'yx/zcwy_1127_teacher' into master_1202 2024-12-02 19:21:14 +08:00
zhangsir
1ad2c80c9b 添加教师修改接口 2024-12-02 17:43:50 +08:00
zhangsir
21afc82036 添加教师修改接口 2024-11-27 18:11:49 +08:00
joshen
3e137990b7 Merge branch 'zcwy_0822_case' into dev_master 2024-11-26 20:48:58 +08:00
zhangsir
602a49e292 视频禁止拖动修改 2024-11-26 17:43:07 +08:00
nisen
0397b4c310 Merge branch 'zcwy_0822_case' into dev_master 2024-11-18 20:17:16 +08:00
zhangsir
6bf278c148 讲师视频下一步展示问题 2024-11-14 17:35:26 +08:00
nisen
3080303fa3 Merge branch 'pingcode-1104' into dev_master 2024-11-07 17:28:03 +08:00
nisen
50dca2caa9 Merge branch 'zcwy_0822_case' into dev_master 2024-11-04 17:53:51 +08:00
zhangsir
548d891be3 一上来搜索的条数改为20 2024-11-04 15:28:38 +08:00
zhangsir
0dc3884d46 讲师认证修改参数改为keyword 2024-11-01 17:03:33 +08:00
16 changed files with 234 additions and 220 deletions

View File

@@ -1,5 +1,6 @@
/**我的授课记录*/ /**我的授课记录*/
import ajax from '@/api/boe/boeApiAjax.js' import ajax from '@/api/boe/boeApiAjax.js'
import ajax2 from '@/api/unionAjax.js'
import axios from 'axios' import axios from 'axios'
import { getToken } from '@/utils/token' import { getToken } from '@/utils/token'
const baseURL = process.env.VUE_APP_BOE_BASE_API; const baseURL = process.env.VUE_APP_BOE_BASE_API;
@@ -60,12 +61,15 @@ const exportStudentOfTearcher = function(userId) {
const courseRecordList = function(data) { const courseRecordList = function(data) {
return ajax.postJson('/b1/system/teacher/teacher-course-list',data); return ajax.postJson('/b1/system/teacher/teacher-course-list',data);
} }
const getListByToken = function(data) {
return ajax2.get('/manageApi',`/admin/teacherRecord/getListByToken?courseName=${data.courseName}&page=${data.page}&pageSize=${data.pageSize}`);
}
export default { export default {
courseRecordExport, courseRecordExport,
courseRecordList, courseRecordList,
getListByToken,
exportStudentOfCourse, exportStudentOfCourse,
exportStudentOfTearcher exportStudentOfTearcher

View File

@@ -1,5 +1,5 @@
import ajax from '@/utils/xajax.js' import ajax from '@/utils/xajax.js'
import ajax2 from '../unionAjax.js';
/** /**
* 按名称查询 * 按名称查询
@@ -9,7 +9,9 @@ const findByName = function(name) {
return ajax.get('/xboe/teacher/name?name=' + name); return ajax.get('/xboe/teacher/name?name=' + name);
} }
const findByNameNew = function(name) {
return ajax2.get('/manageApi/admin/teacher/selectTeacher?name=' + name);
}
const updateTeacher=function(data){ const updateTeacher=function(data){
return ajax.postJson('/xboe/teacher/update-teacher',data); return ajax.postJson('/xboe/teacher/update-teacher',data);
} }
@@ -217,7 +219,7 @@ export default {
update, update,
del, del,
detail, detail,
findByName, findByNameNew,
updateSysId, updateSysId,
has, has,
start, start,

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

View File

@@ -13,7 +13,7 @@
</el-input> </el-input>
<div class="choice-box" v-if="teacherDownList.length>0"> <div class="choice-box" v-if="teacherDownList.length>0">
<ul> <ul>
<li v-for="te in teacherDownList" :key="te.key" @click="changeTeachers(te)">{{te.teacherName + te.teacherCode}}</li> <li v-for="te in teacherDownList" :key="te.key" @click="changeTeachers(te)">{{te.teacherName + '(' + te.teacherCode + ')'}}</li>
</ul> </ul>
</div> </div>
<!-- <el-select <!-- <el-select
@@ -88,15 +88,15 @@
if (this.teacherValues !== '') { if (this.teacherValues !== '') {
this.loading = true; this.loading = true;
try { try {
const { result, message, status } = await apiTeacher.findByName(this.teacherValues); const { data, message, code } = await apiTeacher.findByNameNew(this.teacherValues);
this.loading = false; this.loading = false;
if (status === 200) { if (code === 200) {
let list = []; let list = [];
result.forEach(item => { data.forEach(item => {
list.push({ list.push({
teacherId: item.id, teacherId: item.id,
teacherName: item.name, teacherName: item.name,
teacherCode: item.code teacherCode: item.mobile
}); });
}); });
this.teacherDownList = list; this.teacherDownList = list;

View File

@@ -327,7 +327,7 @@ export default {
}, },
startTest(){ startTest(){
apiExamPaper.newPaperContent(this.info.id).then(res=>{ apiExamPaper.newPaperContent(this.info.id).then(res=>{
if(res.error == ''&&res.result != ''){ if(!res.error&&res.result != ''){
if(this.info.paperType==2){ if(this.info.paperType==2){
this.examPaper.json=res.result; this.examPaper.json=res.result;
let qitems=this.convertToItems(this.examPaper.json); let qitems=this.convertToItems(this.examPaper.json);

View File

@@ -51,7 +51,8 @@
<el-dropdown placement="bottom" @command="handleContributor"> <el-dropdown placement="bottom" @command="handleContributor">
<span class="el-dropdown-link" style="font-size:16px;cursor: pointer;" :style="{color:textColor}">贡献者大会</span> <span class="el-dropdown-link" style="font-size:16px;cursor: pointer;" :style="{color:textColor}">贡献者大会</span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="one">2023</el-dropdown-item> <el-dropdown-item command="three">2024</el-dropdown-item>
<el-dropdown-item command="one" divided>2023</el-dropdown-item>
<el-dropdown-item command="two" divided>2022</el-dropdown-item> <el-dropdown-item command="two" divided>2022</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
@@ -246,6 +247,7 @@ export default {
let obj = { let obj = {
one: urlPre + "/web/contributornew/index", one: urlPre + "/web/contributornew/index",
two: urlPre + "/web/contributor/index", two: urlPre + "/web/contributor/index",
three: urlPre + "/web/contributor_2024/index"
}; };
window.open(obj[val]); window.open(obj[val]);
}, },

View File

@@ -272,7 +272,7 @@ export default {
}, },
isDrag:{ isDrag:{
type: Boolean, type: Boolean,
default: null, default: true,
}, },
isCrowd:{ isCrowd:{
type: Boolean, type: Boolean,

View File

@@ -52,7 +52,7 @@
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button-group> <el-button-group>
<el-button style="margin:0 5px" type="text" v-if="scope.row.recommendRank === ''" @click="suggest(scope.row)" icon="el-icon-medal">榜单推荐</el-button> <el-button style="margin:0 5px" type="text" v-if="scope.row.recommendRank === ''||scope.row.recommendRank === null" @click="suggest(scope.row)" icon="el-icon-medal">榜单推荐</el-button>
<!-- <el-button type="text" @click="shareItem(scope.row)" icon="el-icon-share" style="margin:0 5px">推荐</el-button> --> <!-- <el-button type="text" @click="shareItem(scope.row)" icon="el-icon-share" style="margin:0 5px">推荐</el-button> -->
<el-button style="margin:0 5px" v-if="!scope.row.isTop && scope.row.confidentialityLevel == '内部'" type="text" <el-button style="margin:0 5px" v-if="!scope.row.isTop && scope.row.confidentialityLevel == '内部'" type="text"
@click="setTop(scope.row)" icon="el-icon-top">置顶</el-button> @click="setTop(scope.row)" icon="el-icon-top">置顶</el-button>

View File

@@ -92,23 +92,23 @@
import apiCourse from '../../api/boe/courseRecord.js'; import apiCourse from '../../api/boe/courseRecord.js';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
export default { export default {
data(){ data(){
return { return {
pageData:[], pageData:[],
keyword:'', keyword:'',
pageInfo:{}, pageInfo:{},
} }
}, },
mounted() { mounted() {
this.recordList(1); this.recordList(1);
}, },
computed: { computed: {
...mapGetters(['userInfo']) ...mapGetters(['userInfo'])
}, },
methods: { methods: {
// 导出所有记录 // 导出所有记录
exportFile(){ exportFile(){
@@ -193,14 +193,14 @@ export default {
this.recordList(this.pageInfo.pageIndex); this.recordList(this.pageInfo.pageIndex);
}, },
}, },
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.Export{ .Export{
display: flex; display: flex;
padding-top: 10px; padding-top: 10px;
} }
</style> </style>

View File

@@ -22,7 +22,7 @@
{img:'01',url:'1265897142383042560'}, {img:'01',url:'1265897142383042560'},
{img:'02',url:'1265697724606210048'}, {img:'02',url:'1265697724606210048'},
{img:'003',url:'1280185851054231552'}, {img:'003',url:'1280185851054231552'},
{img:'4',url:''}, {img:'04',url:'1321778585966247936'},
], ],
} }
}, },

View File

@@ -22,14 +22,14 @@ export default {
}, },
methods:{ methods:{
getTeacherList() { getTeacherList() {
addTeacher({pageNo:1,pageSize:100,userNo:''}).then(res=>{ addTeacher({pageNo:1,pageSize:20,keyword:''}).then(res=>{
this.options = res.data.map(item => { this.options = res.data.map(item => {
return { value: item.realName, label: item.realName }; return { value: item.realName, label: item.realName };
}); });
}) })
}, },
getCoachingTeacher(val){ getCoachingTeacher(val){
addTeacher({pageNo:1,pageSize:20,userNo:val}).then(res=>{ addTeacher({pageNo:1,pageSize:20,keyword:val}).then(res=>{
this.options = res.data.map(item => { this.options = res.data.map(item => {
return { value: item.realName, label: item.realName }; return { value: item.realName, label: item.realName };
}); });

View File

@@ -64,16 +64,17 @@ export default {
getProgress({teacherId:id}).then(res=>{ getProgress({teacherId:id}).then(res=>{
this.progressData=res.data this.progressData=res.data
if ( res.data.length>=1 ){ if ( res.data.length>=1 ){
res.data.forEach((item,index)=>{ const isAll = true;
if (item.progress==100 && index==res.data.length-1){ res.data.some(item => {
this.disabled=false if (item.progress != 100) {
}else if (item.progress==100) { this.disabled = true;
}else { isAll = false;
this.disabled=true return true;
return }
});
if (isAll) {
this.disabled = false;
} }
})
} }
}) })
}, },

View File

@@ -25,14 +25,14 @@ export default {
}, },
methods:{ methods:{
getTeacherList() { getTeacherList() {
addTeacher({pageNo:1,pageSize:100,userNo:''}).then(res=>{ addTeacher({pageNo:1,pageSize:20,keyword:''}).then(res=>{
this.options = res.data.map(item => { this.options = res.data.map(item => {
return { value: item.realName, label: item.realName }; return { value: item.realName, label: item.realName };
}); });
}) })
}, },
getCoachingTeacher(val){ getCoachingTeacher(val){
addTeacher({pageNo:1,pageSize:20,userNo:val}).then(res=>{ addTeacher({pageNo:1,pageSize:20,keyword:val}).then(res=>{
this.options = res.data.map(item => { this.options = res.data.map(item => {
return { value: item.realName, label: item.realName }; return { value: item.realName, label: item.realName };
}); });

View File

@@ -185,11 +185,11 @@
<div class="back_num" v-if="numIsFalse"> <div class="back_num" v-if="numIsFalse">
<div class="search_div_num"> <div class="search_div_num">
当前已检索 <span style="color:#FF4040 ;"> 当前已检索 <span style="color:#FF4040 ;">
{{ caseList.count }}</span> 条数据 {{ this.caseList.count }}</span> 条数据
</div> </div>
</div> </div>
<div class="data-content"> <div class="data-content">
<div v-for="item in caseList.list" :key="isTimeData?item.browsingHistoryId : item.id" class="case-list"> <div v-for="item in this.caseList.list" :key="isTimeData?item.browsingHistoryId : item.id" class="case-list">
<div class="case-info"> <div class="case-info">
<div class="case-info-cont"> <div class="case-info-cont">
<!-- <router-link :to="'/case/detail?id=' + item.id"> --> <!-- <router-link :to="'/case/detail?id=' + item.id"> -->
@@ -270,7 +270,7 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="caseList.showPagCount > queryCondition.pageSize"> <div v-if="this.caseList.showPagCount > queryCondition.pageSize">
<pagination :size="queryCondition.pageSize" :total="caseList.count" :page="queryCondition.pageIndex" <pagination :size="queryCondition.pageSize" :total="caseList.count" :page="queryCondition.pageIndex"
layout="total, prev, pager, next, jumper" @change-page="currentChange"></pagination> layout="total, prev, pager, next, jumper" @change-page="currentChange"></pagination>
</div> </div>
@@ -279,7 +279,7 @@
<!-- <span class="pag-text" @click="loadMore()" v-if="moreState == 1">加载更多</span> <!-- <span class="pag-text" @click="loadMore()" v-if="moreState == 1">加载更多</span>
<span class="pag-text-msg" v-else-if="moreState == 2">数据加载中</span> <span class="pag-text-msg" v-else-if="moreState == 2">数据加载中</span>
<span class="pag-text-msg" v-else-if="moreState == 3">没有更多数据了</span> --> <span class="pag-text-msg" v-else-if="moreState == 3">没有更多数据了</span> -->
<span class="notcoures" v-if="caseList.list.length == 0"> <span class="notcoures" v-if="this.caseList.list.length == 0">
<img :src="`${webBaseUrl}/images/nocase.png`" alt=""> <img :src="`${webBaseUrl}/images/nocase.png`" alt="">
<h5>暂无案例请优先学习其它案例吧</h5> <h5>暂无案例请优先学习其它案例吧</h5>
</span> </span>
@@ -555,7 +555,7 @@ export default {
name: '', name: '',
years: [], years: [],
// 随机 // 随机
notInIds: [],//重复的id // notInIds: [],//重复的id
orderField: "id", orderField: "id",
orderAsc: false,//排序 orderAsc: false,//排序
sysType1:'', sysType1:'',
@@ -1507,7 +1507,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 +1562,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);
@@ -1599,12 +1599,17 @@ export default {
} else { } else {
this.moreState = 3; this.moreState = 3;
} }
// console.log(res?.result?.list ,'有没有数据'); if(res.result.list.length ===0){
this.moreState = 3;
this.isSeach = false;
}
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');
this.caseList.list = res.result.list this.caseList.list = res.result.list
this.getCaseUserData(res.result.list); // this.getCaseUserData(res.result.list);
// 给所有的赋值 // 给所有的赋值
this.caseList.count = res.result.count; this.caseList.count = res.result.count;
this.caseList.showPagCount = res.result.count; this.caseList.showPagCount = res.result.count;

View File

@@ -253,7 +253,7 @@ export default {
if(res.status==200){ if(res.status==200){
let localCourseIds=[];//本地在线课程的id集合 let localCourseIds=[];//本地在线课程的id集合
res.result.list.forEach(item=>{ res.result.list.forEach(item=>{
if(item.courseImage.startsWith('/upload')){ if(item.courseImage?.startsWith('/upload')){
item.courseImage=$this.fileUrl+item.courseImage.substring(7) item.courseImage=$this.fileUrl+item.courseImage.substring(7)
} }
if(item.source==2){ if(item.source==2){