diff --git a/src/api/index.js b/src/api/index.js
index afcd549..34f4cf4 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -29,6 +29,7 @@ export default {
findLearningProgress: 'nakadai/nakadai/curriculum/learning/progressprogress/findById',
saveLearningProgress: 'nakadai/nakadai/curriculum/learning/progressprogress/save',
updateLearningProgress: 'nakadai/nakadai/curriculum/learning/progressprogress/update',
+ maximumPracticeScoreList: 'occupationlab/occupationlab/achievement/maximumPracticeScoreList',
// 课程笔记
addNote: `nakadai/curriculumNotes/addNote`,
curriculumNoteList: `nakadai/curriculumNotes/curriculumNoteList`,
@@ -109,6 +110,9 @@ export default {
exportLabReport: `occupationlab/occupationlab/achievement/exportLabReport`,
exportBankExperimentReport: `occupationlab/occupationlab/achievement/exportBankExperimentReport`,
editExperimentalData: 'occupationlab/occupationlab/experimentalReport/editExperimentalData',
+ practiceActivity: 'occupationlab/occupationlab/achievement/practiceActivity',
+ exportAllActivity: `${host}occupationlab/occupationlab/achievement/exportAllData`,
+ exportActivity: `${host}occupationlab/occupationlab/achievement/exportDataInBatches`,
// 项目管理
getSystemIdBySchool: `occupationlab/occupationlab/projectManage/getSystemIdBySchool`, // 获取学校下拥有的系统
@@ -124,6 +128,8 @@ export default {
updateProjectManage: `occupationlab/occupationlab/projectManage/updateProjectManage`, // 修改项目管理
editProjectDraft: `occupationlab/occupationlab/projectManage/editProjectDraft`, // 修改项目管理
copyProjectManage: `occupationlab/occupationlab/projectManage/copyProjectManage`, // 复制项目管理
+ schoolCreateProjectPromptsEnabled: `occupationlab/schoolProjectHintOpen/schoolCreateProjectPromptsEnabled`,
+ schoolProjectPromptsEnabled: `occupationlab/schoolProjectHintOpen/schoolProjectPromptsEnabled`,
// 判分点
getBcJudgmentPoint: `judgment/judgment/bcJudgmentPoint/getTeacherJudgmentPoint`, // 获取编程类判分点列表(分页)
@@ -370,6 +376,8 @@ export default {
findActivityAnnouncement: `occupationlab/occupationlab/activity/announcement/queryAnnouncementDetails`,
delActivityAnnouncementAnnex: `occupationlab/occupationlab/activity/announcement/annex/delete`,
saveActivityAnnouncementAnnex: `occupationlab/occupationlab/activity/announcement/annex/save`,
+ collectionActivity: `occupationlab/occupationlab/activity/collectionActivity`,
+ concernedActivity: `occupationlab/occupationlab/activity/concernedActivity`,
// 数据看板
curriculumListForBeforeLogin: `nakadai/nakadai/curriculum/curriculumListForBeforeLogin`,
@@ -440,6 +448,12 @@ export default {
builtInClassificationByNakadai: `nakadai/nakadai/model/reference/builtInClassificationByNakadai`,
disableModelDemo: `nakadai/nakadai/model/demo/disabledEvents`,
synchronizationMdelByOccupationlab: `nakadai/nakadai/model/reference/demo/synchronizationMdelByOccupationlab`,
+ controlPasteCode: `nakadai/nakadai/model/demo/controlPasteCode`,
+ whetherCanPaste: `nakadai/nakadai/model/demo/whetherCanPaste`,
+ builtInModelButtonDisplayByTeacher: `nakadai/nakadai/model/demo/builtInModelButtonDisplayByTeacher`,
+ displayListOrNotByTeacher: `nakadai/nakadai/model/demo/displayListOrNotByTeacher`,
+ builtInModelStateByTeacher: `nakadai/nakadai/model/demo/builtInModelStateByTeacher`,
+ modelRedis: `nakadai/nakadai/model/demo/getRedisCache`,
// 教师评语
addComment: `evaluation/cevaluation/comment/addComment`,
diff --git a/src/assets/img/love1.png b/src/assets/img/love1.png
new file mode 100644
index 0000000..1b1e300
Binary files /dev/null and b/src/assets/img/love1.png differ
diff --git a/src/assets/img/love2.png b/src/assets/img/love2.png
new file mode 100644
index 0000000..af45fba
Binary files /dev/null and b/src/assets/img/love2.png differ
diff --git a/src/pages/achievement/teach/index.vue b/src/pages/achievement/teach/index.vue
index f7fcbde..e10d25f 100644
--- a/src/pages/achievement/teach/index.vue
+++ b/src/pages/achievement/teach/index.vue
@@ -87,6 +87,7 @@
-
-
-
-
@@ -217,7 +219,7 @@
min-width="90"
align="center">
- {{ scope.row.timeSum }}min
+ {{ scope.row.theLongestTime }}min
- {{ scope.row.timeSum }}min
+ {{ scope.row.shortestTime }}min
-
-
-
- 查看成绩报告
- 删除
-
-
+
+
+
+ {{ item.collectorsNum }}人关注
+
+

+
@@ -145,6 +157,10 @@ export default {
{
id: 0,
name: "已报名"
+ },
+ {
+ id: 1,
+ name: "已关注项目"
}
],
form: {
@@ -193,22 +209,21 @@ export default {
methods: {
getList () {
this.clearTimer()
+ const { form } = this
const data = {
pageNum: this.page,
pageSize: this.pageSize,
- platformSource: 1,
+ platformSource: 2,
keyWords: this.keyword,
- ...this.form
+ ...form
}
- this.$post(this.api.schoolActivities, data).then(({ data }) => {
+ if (form.whetherToSignUp) data.whetherToSignUp = ''
+ this.$post(this.api[form.whetherToSignUp ? 'concernedActivity' : 'schoolActivities'], data).then(({ data }) => {
const { records } = data
this.listData = records
this.totals = data.total
this.handleStatus()
- // this.loadIns.close();
- }).catch(res => {
- // this.loadIns.close()
- })
+ }).catch(res => { })
},
// 定时处理时间及状态
handleStatus () {
@@ -266,10 +281,10 @@ export default {
getData () {
// this.loadIns = Loading.service()
this.getList()
- // if (!Setting.isDev) {
- clearInterval(this.redisTimer)
- this.redisTimer = setInterval(this.getRedis, 1000)
- // }
+ if (!Setting.isDev) {
+ clearInterval(this.redisTimer)
+ this.redisTimer = setInterval(this.getRedis, 1000)
+ }
},
initData () {
this.page = 1
@@ -305,6 +320,12 @@ export default {
this.page = val;
this.getData();
},
+ // 关注
+ follow ({ id, collectionStatus }) {
+ this.$post(`${this.api.collectionActivity}?activityId=${id}&state=${collectionStatus ? 0 : 1}`).then(res => {
+ this.getData()
+ }).catch(res => { })
+ },
// 报名提交
signupSubmit () {
diff --git a/src/pages/expSystem/backstage/compiler.vue b/src/pages/expSystem/backstage/compiler.vue
index 065fcfa..a351113 100644
--- a/src/pages/expSystem/backstage/compiler.vue
+++ b/src/pages/expSystem/backstage/compiler.vue
@@ -7,12 +7,10 @@
粘贴代码
-
+ @change="switchOff">
@@ -23,19 +21,23 @@ export default {
data () {
return {
systemId: this.$route.query.systemId,
- isOpen: 0
+ isShow: false
};
},
- mounted () { },
+ mounted () {
+ this.getStatus()
+ },
methods: {
-
- switchOff (row) {
- // this.$get(`${this.api.updateIsOpen}?isOpen=${row.ccupationlabOpen}&projectId=${row.projectId}&platformId=${this.queryData.platformId}`).then(res => {
- // util.successMsg("更新启用状态成功");
- // this.getData();
- // }).catch(err => {
- // console.log(err);
- // });
+ // 查询粘贴状态
+ getStatus () {
+ this.$post(`${this.api.whetherCanPaste}?systemId=${this.systemId}`).then(res => {
+ this.isShow = res.data == 'true' ? true : fale
+ }).catch(err => { })
+ },
+ switchOff () {
+ this.$post(`${this.api.controlPasteCode}?isShow=${this.isShow}&systemId=${this.systemId}`).then(res => {
+ this.getStatus()
+ }).catch(err => { })
},
}
};
diff --git a/src/pages/expSystem/backstage/index.vue b/src/pages/expSystem/backstage/index.vue
index aaf3f43..968ec90 100644
--- a/src/pages/expSystem/backstage/index.vue
+++ b/src/pages/expSystem/backstage/index.vue
@@ -23,30 +23,47 @@
\ No newline at end of file
diff --git a/src/setting.js b/src/setting.js
index 521d0cc..01931e1 100644
--- a/src/setting.js
+++ b/src/setting.js
@@ -87,7 +87,7 @@ const Setting = {
// 相同路由,不同参数间进行切换,是否强力更新
sameRouteForceUpdate: false,
// 是否使用动态路由(即角色权限,开启了的话就会取后端返回的权限树来显示头部导肮和页面按钮)
- dynamicRoute: false,
+ dynamicRoute: true,
// 文件上传
upload: {
apiURL: uploadURL,
diff --git a/src/styles/page/station.scss b/src/styles/page/station.scss
index 0aae6d9..21e33b9 100644
--- a/src/styles/page/station.scss
+++ b/src/styles/page/station.scss
@@ -1,173 +1,174 @@
-.msg{
- li{
- margin-bottom: 10px;
- border-top: 1px solid #f1f1f1;
- &:first-child{
- border-top: 0;
- }
- .li-wrap{
- position: relative;
- display: flex;
- justify-content: space-between;
- padding: 16px 0;
- .avatar{
- width: 48px;
- height: 48px;
- border-radius: 50%;
- }
- .texts{
- flex: 1;
- margin-left: 24px;
- .name{
- color: rgba(0, 0, 0, 0.85);
- font-size: 16px;
- }
- .des{
- margin: 8px 0;
- }
- .date{
- color: rgba(0, 0, 0, 0.45);
- font-size: 14px;
- }
- }
- .action{
- display: inline-flex;
- align-items: center;
- margin-top: 15px;
- .icon{
- margin: 0 5px;
- color: $main-color;
- font-size: 18px;
- cursor: pointer;
- &:hover{
- opacity: .8;
- }
- &:first-child{
- margin-right: 5px;
- }
- &.del{
- color: rgba(0, 0, 0, 0.65);
- border: 1px solid rgba(0, 0, 0, 0.15);
- }
- }
- }
- }
- .reply{
- margin-top: 20px;
- }
- }
- &.children{
- margin-left: 72px;
- padding-left: 24px;
- background-color: rgba(0, 0, 0, 0.02);
- border-radius: 8px;
- li{
- border-top-color: rgba(0, 0, 0, 0.06);
- }
- }
+.msg {
+ li {
+ margin-bottom: 10px;
+ border-top: 1px solid #f1f1f1;
+ &:first-child {
+ border-top: 0;
+ }
+ .li-wrap {
+ position: relative;
+ display: flex;
+ justify-content: space-between;
+ padding: 16px 0;
+ .avatar {
+ width: 48px;
+ height: 48px;
+ border-radius: 50%;
+ }
+ .texts {
+ flex: 1;
+ margin-left: 24px;
+ .name {
+ color: rgba(0, 0, 0, 0.85);
+ font-size: 16px;
+ }
+ .date {
+ color: rgba(0, 0, 0, 0.45);
+ font-size: 14px;
+ }
+ }
+ .reply-name {
+ color: #9076ff;
+ }
+ .action {
+ display: inline-flex;
+ align-items: center;
+ margin: 15px 10px 0 0;
+ .icon {
+ margin: 0 5px;
+ color: $main-color;
+ font-size: 18px;
+ cursor: pointer;
+ &:hover {
+ opacity: 0.8;
+ }
+ &:first-child {
+ margin-right: 5px;
+ }
+ &.del {
+ color: rgba(0, 0, 0, 0.65);
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ }
+ }
+ }
+ }
+ .reply {
+ margin-top: 20px;
+ }
+ }
+ &.children {
+ margin-left: 72px;
+ padding-left: 24px;
+ background-color: rgba(0, 0, 0, 0.02);
+ border-radius: 8px;
+ li {
+ border-top-color: rgba(0, 0, 0, 0.06);
+ }
+ }
}
-.toggle{
- margin: 16px 0;
- text-align: center;
- color: $main-color;
- font-size: 14px;
- span{
- cursor: pointer;
- }
+.toggle {
+ margin: 16px 0;
+ text-align: center;
+ color: $main-color;
+ font-size: 14px;
+ span {
+ cursor: pointer;
+ }
}
-/deep/.quill{
- background-color: #fff;
+/deep/.quill {
+ background-color: #fff;
}
/deep/.timeline {
- padding-left: 9%;
- overflow: hidden;
- .el-timeline-item {
- padding-bottom: 40px;
- }
- .el-timeline-item__node--normal {
- top: 30px;
- }
- .el-timeline-item__wrapper {
- top: 15px;
- padding-left: 40px;
- }
- .el-timeline-item__tail {
- height: 250%;
- border-left-width: 1px;
- }
- .sign {
- position: relative;
- display: inline-block;
- margin-left: -12.5%;
- font-size: 14px;
- color: #9076FF;
- }
- .draft {
- .ver, .sign {
- color: #b1b1b1;
- }
- }
- .ver {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding-bottom: 10px;
- margin: -22px 0 20px;
- font-size: 18px;
- color: #9076FF;
- border-bottom: 1px dashed #bfbfbf;
- }
- .withdraw {
- margin-right: 10px;
- font-size: 13px;
- color: #979797;
- }
- .action {
- margin-left: 15px;
- i {
- margin-left: 8px;
- font-size: 14px;
- color: #9076FF;
- cursor: pointer;
- &:hover {
- opacity: .9;
- }
- }
- }
- .detail {
- li {
- margin-bottom: 20px;
- }
- .name {
- display: flex;
- align-items: center;
- margin-bottom: 5px;
- font-size: 15px;
- font-weight: 600;
- img {
- width: 20px;
- margin-right: 5px;
- }
- }
- .val {
- font-size: 14px;
- line-height: 1.8;
- white-space: pre-wrap;
- p {
- position: relative;
- color: #6a6a6a;
- &:before {
- content: '';
- display: inline-block;
- width: 5px;
- height: 5px;
- margin: 0 10px 0 5px;
- vertical-align: middle;
- border-radius: 20px;
- background-color: #c5b8ff;
+ padding-left: 9%;
+ overflow: hidden;
+ .el-timeline-item {
+ padding-bottom: 40px;
+ }
+ .el-timeline-item__node--normal {
+ top: 30px;
+ }
+ .el-timeline-item__wrapper {
+ top: 15px;
+ padding-left: 40px;
+ }
+ .el-timeline-item__tail {
+ height: 250%;
+ border-left-width: 1px;
+ }
+ .sign {
+ position: relative;
+ display: inline-block;
+ margin-left: -12.5%;
+ font-size: 14px;
+ color: #9076ff;
+ }
+ .draft {
+ .ver,
+ .sign {
+ color: #b1b1b1;
+ }
+ }
+ .ver {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding-bottom: 10px;
+ margin: -22px 0 20px;
+ font-size: 18px;
+ color: #9076ff;
+ border-bottom: 1px dashed #bfbfbf;
+ }
+ .withdraw {
+ margin-right: 10px;
+ font-size: 13px;
+ color: #979797;
+ }
+ .action {
+ margin-left: 15px;
+ i {
+ margin-left: 8px;
+ font-size: 14px;
+ color: #9076ff;
+ cursor: pointer;
+ &:hover {
+ opacity: 0.9;
+ }
+ }
+ }
+ .detail {
+ li {
+ margin-bottom: 20px;
+ }
+ .name {
+ display: flex;
+ align-items: center;
+ margin-bottom: 5px;
+ font-size: 15px;
+ font-weight: 600;
+ img {
+ width: 20px;
+ margin-right: 5px;
}
- }
- }
- }
-}
\ No newline at end of file
+ }
+ .val {
+ font-size: 14px;
+ line-height: 1.8;
+ white-space: pre-wrap;
+ p {
+ position: relative;
+ color: #6a6a6a;
+ &:before {
+ content: '';
+ display: inline-block;
+ width: 5px;
+ height: 5px;
+ margin: 0 10px 0 5px;
+ vertical-align: middle;
+ border-radius: 20px;
+ background-color: #c5b8ff;
+ }
+ }
+ }
+ }
+}