diff --git a/public/images/browse.png b/public/images/browse.png new file mode 100644 index 00000000..3196a8b2 Binary files /dev/null and b/public/images/browse.png differ diff --git a/public/images/collect.png b/public/images/collect.png new file mode 100644 index 00000000..4d1f7349 Binary files /dev/null and b/public/images/collect.png differ diff --git a/public/images/headerBack.png b/public/images/headerBack.png new file mode 100644 index 00000000..0b1cf3ec Binary files /dev/null and b/public/images/headerBack.png differ diff --git a/public/images/list01.png b/public/images/list01.png new file mode 100644 index 00000000..47456321 Binary files /dev/null and b/public/images/list01.png differ diff --git a/public/images/listred01.png b/public/images/listred01.png new file mode 100644 index 00000000..6d696edf Binary files /dev/null and b/public/images/listred01.png differ diff --git a/public/index.html b/public/index.html index 994f502e..746d6418 100644 --- a/public/index.html +++ b/public/index.html @@ -16,9 +16,9 @@ 京东方大学堂 - + diff --git a/src/components/Course/weikeContent.vue b/src/components/Course/weikeContent.vue index f8310736..168aa565 100644 --- a/src/components/Course/weikeContent.vue +++ b/src/components/Course/weikeContent.vue @@ -401,6 +401,28 @@ + + + + + + + + + + + 先添加试题 + 试卷有 {{exam.paperJson.items.length}} 道试题 + + + + + + 先选择试卷 + 试卷有 {{usePaper.counts}} 道试题 + + +
@@ -1059,12 +1081,14 @@ if(this.exam.info.paperType==2){ if(!this.exam.info.paperId){ this.$message.error("您还未选择任何试卷"); + this.loading=false; return; } }else{ //检查是不是所有的试题都有了答案 if(this.exam.paperJson.items.length==0){ this.$message.error("您还没有添加考试的试题"); + this.loading=false; return; } let pass=true; @@ -1087,6 +1111,9 @@ } this.exam.info.paperContent=JSON.stringify(this.exam.paperJson); } + if(!this.exam.info.randomMode){ + this.exam.info.qnum = 0 + } postData.exam=this.exam.info; postData.content.contentName='考试'; this.examChange = deepClone(this.exam); @@ -1152,6 +1179,8 @@ postData.id=this.exam.content.id; postData.ctype=this.exam.content.contentType; curContent=this.exam.content; + this.exam.info.randomMode = false; + this.exam.info.qnum = 0 }else if(index==4){ postData.id=this.assess.content.id; postData.ctype=this.assess.content.contentType; diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue index 90efbfd5..0391f557 100644 --- a/src/components/FileUpload/index.vue +++ b/src/components/FileUpload/index.vue @@ -217,13 +217,16 @@ export default { if(delIdx>-1){ fileList.splice(delIdx,1); } + this.$emit("success", res); } else { this.isLoading = false; - //this.fileList = []; + if(this.limit == 1){ + this.fileList = []; + } this.$message({message:"上传失败",type:'error',offset:100}); } - this.$emit("success", res); + // this.$emit("success", res); }, // 删除文件 handleDelete(index) { diff --git a/src/components/HomePage/caseList.vue b/src/components/HomePage/caseList.vue index b3f40ec6..b05bb23c 100644 --- a/src/components/HomePage/caseList.vue +++ b/src/components/HomePage/caseList.vue @@ -8,7 +8,10 @@ {{item.eventTime}} 已隐藏 - 隐藏 + + + + 隐藏

@@ -136,6 +139,22 @@ \ No newline at end of file + diff --git a/src/router/index.js b/src/router/index.js index cb2fd49f..f8a37417 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -193,6 +193,20 @@ export const constantRoutes = [{ name: 'caseDetail', meta: {title: '案例详情', keepAlive: true, icon: 'dashboard', noCache: false, affix: true}, }, + { + path: '/case/charts', + hidden: true, + component: (resolve) => require(['@/views/portal/case/Charts'], resolve), + name: 'caseCharts', + meta: {title: '排行榜', keepAlive: true, icon: 'dashboard', noCache: false, affix: true}, + }, + { + path: '/case/excellent', + hidden: true, + component: (resolve) => require(['@/views/portal/case/Excellent'], resolve), + name: 'caseExcellent', + meta: {title: '浏览量榜单', keepAlive: true, icon: 'dashboard', noCache: false, affix: true}, + }, { path: '/article', hidden: true, diff --git a/src/utils/tools.js b/src/utils/tools.js index 185fb2cc..eb286cd5 100644 --- a/src/utils/tools.js +++ b/src/utils/tools.js @@ -423,6 +423,7 @@ export function translate(field) { let name = ''; switch (field) { case 'total':name = '累计'; break; + case 'now':name = '当前'; break; case 'weeks':name = '本周'; break; case 'months':name = '本月'; break; case 'years':name = '本年'; break; diff --git a/src/views/case/ManageList.vue b/src/views/case/ManageList.vue index 8b855b3a..ed237e54 100644 --- a/src/views/case/ManageList.vue +++ b/src/views/case/ManageList.vue @@ -32,6 +32,9 @@
+
+ 推荐榜单 +
@@ -49,6 +52,7 @@ @@ -121,16 +129,91 @@ 关闭 + +
+
+
+ + 年度 +
+ +
+
+
+ + 组织领域 +
+ +
+
+
+ 最佳理由 +
+ +
+
+ + 取 消 + 确 定 + +
+ +
+ + + + + + + + + + + +
+ +
diff --git a/src/views/exam/Test.vue b/src/views/exam/Test.vue index 05aba755..a6d15b20 100644 --- a/src/views/exam/Test.vue +++ b/src/views/exam/Test.vue @@ -16,7 +16,7 @@
  • 结束时间: {{ testPaper.deadlineTime }}
  • -
    +
    diff --git a/src/views/grateful/TeacherOpinion.vue b/src/views/grateful/TeacherOpinion.vue index 6c728db0..ee57c4e8 100644 --- a/src/views/grateful/TeacherOpinion.vue +++ b/src/views/grateful/TeacherOpinion.vue @@ -118,7 +118,7 @@ export default { } &::after { - content: '认证讲师库(2023)'; + content: '认证讲师库'; position: absolute; bottom: 25px; left: 180px; diff --git a/src/views/hotforum/Index.vue b/src/views/hotforum/Index.vue index 01710737..88c1a1c4 100644 --- a/src/views/hotforum/Index.vue +++ b/src/views/hotforum/Index.vue @@ -22,7 +22,7 @@ {img:'01',url:'1265897142383042560'}, {img:'02',url:'1265697724606210048'}, {img:'003',url:'1280185851054231552'}, - {img:'4',url:''}, + {img:'04',url:'1321778585966247936'}, ], } }, @@ -97,7 +97,7 @@ padding: 28px; padding-top: 62px; margin-bottom: 59px; - + .img { width: 100%; // 图片宽度占满item宽度 height: auto; // 自动调整高度 @@ -132,7 +132,7 @@ padding: 14px; padding-top: 26px; margin-bottom: 30px; - + .img { width: 100%; // 图片宽度占满item宽度 height: auto; // 自动调整高度 @@ -176,4 +176,4 @@ } } } - \ No newline at end of file + diff --git a/src/views/lecturer/CoachingPage.vue b/src/views/lecturer/CoachingPage.vue index b5754bc4..8bb5cdc0 100644 --- a/src/views/lecturer/CoachingPage.vue +++ b/src/views/lecturer/CoachingPage.vue @@ -22,7 +22,7 @@ export default { }, methods:{ getTeacherList() { - addTeacher({pageNo:1,pageSize:100,keyword:''}).then(res=>{ + addTeacher({pageNo:1,pageSize:20,keyword:''}).then(res=>{ this.options = res.data.map(item => { return { value: item.realName, label: item.realName }; }); diff --git a/src/views/lecturer/CoachingSuccess.vue b/src/views/lecturer/CoachingSuccess.vue index 533de371..682037cc 100644 --- a/src/views/lecturer/CoachingSuccess.vue +++ b/src/views/lecturer/CoachingSuccess.vue @@ -64,7 +64,7 @@ export default { }) }, addTeacher() { - addTeacher({pageNo: 1, pageSize: 10, keyword: this.form.teacherNo}).then(res => { + addTeacher({pageNo: 1, pageSize: 10, userNo: this.form.teacherNo}).then(res => { this.getProgress(res.data[0].id) }) }, diff --git a/src/views/lecturer/FinalSuccess.vue b/src/views/lecturer/FinalSuccess.vue index ed958a6c..7988e0a2 100644 --- a/src/views/lecturer/FinalSuccess.vue +++ b/src/views/lecturer/FinalSuccess.vue @@ -100,7 +100,7 @@ export default { }) }, addTeacher() { - addTeacher({pageNo: 1, pageSize: 10, keyword: this.form.teacherNo}).then(res => { + addTeacher({pageNo: 1, pageSize: 10, userNo: this.form.teacherNo}).then(res => { this.getProgress(res.data[0].id) }) }, diff --git a/src/views/lecturer/OnlineLearning.vue b/src/views/lecturer/OnlineLearning.vue index 6a2a66bb..eeb9bc5a 100644 --- a/src/views/lecturer/OnlineLearning.vue +++ b/src/views/lecturer/OnlineLearning.vue @@ -56,7 +56,7 @@ export default { }) }, addTeacher(){ - addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{ + addTeacher({pageNo:1,pageSize:10,userNo:this.form.teacherNo}).then(res=>{ this.getProgress(res.data[0].id) }) }, @@ -64,16 +64,17 @@ export default { getProgress({teacherId:id}).then(res=>{ this.progressData=res.data if ( res.data.length>=1 ){ - res.data.forEach((item,index)=>{ - if (item.progress==100 && index==res.data.length-1){ - this.disabled=false - }else if (item.progress==100) { - }else { - this.disabled=true - return + const isAll = true; + res.data.some(item => { + if (item.progress != 100) { + this.disabled = true; + isAll = false; + return true; } - }) - + }); + if (isAll) { + this.disabled = false; + } } }) }, diff --git a/src/views/lecturer/TwoAthentication.vue b/src/views/lecturer/TwoAthentication.vue index 236960d4..be9f3140 100644 --- a/src/views/lecturer/TwoAthentication.vue +++ b/src/views/lecturer/TwoAthentication.vue @@ -87,7 +87,7 @@ export default { }) }, addTeacher(){ - addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{ + addTeacher({pageNo:1,pageSize:10,userNo:this.form.teacherNo}).then(res=>{ this.getProgress(res.data[0].id) }) }, diff --git a/src/views/lecturer/TwoCoaching.vue b/src/views/lecturer/TwoCoaching.vue index c9383a0a..126c1559 100644 --- a/src/views/lecturer/TwoCoaching.vue +++ b/src/views/lecturer/TwoCoaching.vue @@ -25,7 +25,7 @@ export default { }, methods:{ getTeacherList() { - addTeacher({pageNo:1,pageSize:100,keyword:''}).then(res=>{ + addTeacher({pageNo:1,pageSize:20,keyword:''}).then(res=>{ this.options = res.data.map(item => { return { value: item.realName, label: item.realName }; }); diff --git a/src/views/lecturer/TwoCos.vue b/src/views/lecturer/TwoCos.vue index 26222577..f3a2e630 100644 --- a/src/views/lecturer/TwoCos.vue +++ b/src/views/lecturer/TwoCos.vue @@ -90,7 +90,7 @@ export default { }) }, addTeacher(){ - addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{ + addTeacher({pageNo:1,pageSize:10,userNo:this.form.teacherNo}).then(res=>{ this.getProgress(res.data[0].id) }) }, diff --git a/src/views/lecturer/TwoFinals.vue b/src/views/lecturer/TwoFinals.vue index 7558ef9a..6bdd0b60 100644 --- a/src/views/lecturer/TwoFinals.vue +++ b/src/views/lecturer/TwoFinals.vue @@ -95,7 +95,7 @@ export default { }) }, addTeacher(){ - addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{ + addTeacher({pageNo:1,pageSize:10,userNo:this.form.teacherNo}).then(res=>{ this.getProgress(res.data[0].id) }) }, diff --git a/src/views/portal/case/Charts.vue b/src/views/portal/case/Charts.vue new file mode 100644 index 00000000..f55d3df3 --- /dev/null +++ b/src/views/portal/case/Charts.vue @@ -0,0 +1,242 @@ + + + + + \ No newline at end of file diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index bf733d64..5ffe6e31 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -109,13 +109,28 @@
    -
    -
    -
    -

    好评榜

    +
    + +
    排行榜
    +
    >
    +
    +
    +
    +
    +

    好评榜

    + + + {{favorableName}} + + + + 季度 + + +
    • + style="cursor: pointer;margin-top:15px;line-height: 22px;" @click="jumpRouter(item)"> @@ -131,15 +146,26 @@ - {{ item.title }} + {{ item.caseTitle }}
    -
    -

    人气榜

    +
    +
    +

    人气榜

    + + + {{popularityName}} + + + + 季度 + + +
    • + style="cursor: pointer;margin-top:15px;line-height: 22px;" @click="jumpRouter(item)"> @@ -155,7 +181,27 @@ - {{ item.title }} + {{ item.caseTitle }} +
    • +
    +
    +
    +

    推荐榜

    +
      +
    • + + + + + + + + + + + {{ item.caseTitle }} +
    @@ -199,6 +245,12 @@ export default { }, data() { return { + switch: { + 'total': '总', + 'quarter': '季度', + }, + favorableName: '季度', + popularityName: '季度', fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL, resonimg: {}, Internet: 3,//1是成功 2是是失败 3是检测中 @@ -210,6 +262,7 @@ export default { ankingList: [], Popularity: [], Positive: [], + recommendRank: [], resolveId: '', basePath: process.env.VUE_APP_FILE_BASE_URL, pdfPath: '', @@ -271,6 +324,14 @@ export default { this.cumulativeDuration = 0; }, methods: { + positiveReview(e){ + this.favorableName = this.switch[e] + this.getPositive() + }, + popularityReview(e){ + this.popularityName = this.switch[e] + this.getPopularity() + }, endTimeRequst(caseId, recordEndTime) { console.log(this.dataTime); let time = (recordEndTime - this.dataTime) / 1000 / 60 @@ -297,6 +358,7 @@ export default { this.getAnkingData(); this.getPopularity(); this.getPositive(); + this.getQueryRecommendRank(); this.couresreso(); this.retest(); window.addEventListener( @@ -329,7 +391,7 @@ export default { timedOut = true; xmlhttp.abort(); }, 5000); - xmlhttp.open("HEAD", window.location.protocol + "//uapi.boe.com.cn", true); + xmlhttp.open("HEAD", window.location.protocol + "//uapi.boe.com.cn/500.html", true); xmlhttp.send(); xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4) { @@ -442,13 +504,13 @@ export default { // location.href =`${this.webBaseUrl}/case/detail?id=${item.id}` // this.$router.push(`/case/detail?id=${item.id}`); const currentRoute = this.$router.currentRoute; - if (currentRoute.query.id !== item.id) { - this.$router.push('/case/detail?id=' + item.id); + if (currentRoute.query.id !== item.caseId) { + this.$router.push('/case/detail?id=' + item.caseId); } else { // 结束时间 let recordEndTime = new Date().getTime() this.endTimeRequst(item.id, recordEndTime) - location.href = `${this.webBaseUrl}/case/detail?id=${item.id}` + location.href = `${this.webBaseUrl}/case/detail?id=${item.caseId}` } }, goTop() { @@ -489,9 +551,9 @@ export default { if (pdfTopBox.getBoundingClientRect().top < 1000) { document.querySelector('#pdfTopBox').style.cssText = "position:static"; } - if (scrollTop > 630) { + if (scrollTop > 240) { this.isTopBoxShow = true; - document.querySelector('#fixd-box').style.cssText = "position: fixed;top: -400px;width:" + outerWidth + "px"; + document.querySelector('#fixd-box').style.cssText = "position: fixed;top: 10px;width:" + outerWidth + "px"; } else { document.querySelector('#fixd-box').style.cssText = "position: static"; } @@ -505,40 +567,53 @@ export default { }) }, getPopularity() { - apiCase.queryPraises(5).then(res => { - if (res.status == 200) { - this.Popularity = res.result; - if (res.result.length < 5) { - for (let i = 0; i = (5 - res.result.length); i++) { - this.Popularity.push({ - authorName: '', - count: 1, - id: '', - title: '', - }) - } - } + // apiCase.queryPraises(5).then(res => { + // if (res.status == 200) { + // this.Popularity = res.result; + // if (res.result.length < 5) { + // for (let i = 0; i = (5 - res.result.length); i++) { + // this.Popularity.push({ + // authorName: '', + // count: 1, + // id: '', + // title: '', + // }) + // } + // } + // } + // }) + apiCase.queryPraisesNew(3,this.popularityName == '季度' ? 1 : 2).then(res => { + if(res.status == 200) { + this.Popularity = res.result + } + }) + }, + getQueryRecommendRank(){ + apiCase.queryRecommendRank(3).then(res => { + if(res.status == 200) { + this.recommendRank = res.result } }) }, getPositive() { - apiCase.queryComments(5).then(res => { - if (res.status == 200) { - this.Positive = res.result; - if (res.result.length < 5) { - for (let i = 0; i = (5 - res.result.length); i++) { - this.Positive.push({ - authorName: '', - count: 1, - id: '', - title: '', - }) - } - - } - // console.log(this.Positive); - - + // apiCase.queryComments(5).then(res => { + // if (res.status == 200) { + // this.Positive = res.result; + // if (res.result.length < 5) { + // for (let i = 0; i = (5 - res.result.length); i++) { + // this.Positive.push({ + // authorName: '', + // count: 1, + // id: '', + // title: '', + // }) + // } + // } + // } + // }) + apiCase.queryCommentsNew(3,this.favorableName == '季度' ? 3 : 4).then(res => { + if(res.status == 200) { + this.Positive = res.result } }) }, @@ -659,7 +734,32 @@ export default { border-radius: 8px; } } +.the_charts{ + position: relative; + display: flex; + justify-content: center; + align-items: center; + margin-bottom: 10px; + font-size: 18px; + max-width: 400px; + min-width: 260px; + height: 47px; + background: #DDEDFF; + border-radius: 8px; + .text{ + font-size: 18px; + color: #387DF7; + } + .icon{ + position: absolute; + font-size: 18px; + color: #387DF7; + right: 25px; + top: 50%; + transform: translateY(-50%); + } +} .pdftext { // padding: 0 20px; diff --git a/src/views/portal/case/Excellent.vue b/src/views/portal/case/Excellent.vue new file mode 100644 index 00000000..efbf4c81 --- /dev/null +++ b/src/views/portal/case/Excellent.vue @@ -0,0 +1,666 @@ + + + + + \ No newline at end of file diff --git a/src/views/portal/case/Index.vue b/src/views/portal/case/Index.vue index c80452a5..7a3f91b5 100644 --- a/src/views/portal/case/Index.vue +++ b/src/views/portal/case/Index.vue @@ -139,52 +139,94 @@
    + 全部 最佳案例 + :class="{ actice: queryCondition.type == 'excellent' }">年度最佳 推荐案例 - 最热 最新 + :class="{ actice: queryCondition.type == 'new' }">最新 -->
    -
    当前已检索 - {{ caseList.count }} 条数据
    - + +
    +
    发布时间
    +
    +
    +
    +
    +
    +
    +
    浏览量
    +
    +
    +
    +
    +
    + +
    +
    +
    收藏案例
    +
    +
    +
    +
    浏览记录
    +
    +
    +
    +
    +
    + 当前已检索 + {{ caseList.count }} 条数据
    -
    +
    +
    + 阅读了案例 + {{ item.eventTime }} +
    - + {{ item.title || item.contentInfo }}
    - - 最佳 + 最佳 --> + + {{item.excellentTag}} + + + {{tag.tagName}} +
    - + + 该案例已被删除
    -
    +
    +
    + :sex="item.authorInfo.sex" :authorTags="item.authorTags" :aid="item.authorInfo.aid">