diff --git a/src/data/pages.js b/src/data/pages.js
index 326c476e..87de1d28 100644
--- a/src/data/pages.js
+++ b/src/data/pages.js
@@ -31,6 +31,7 @@ export const pages=[
{title:'课程管理',path:'manage',component:'course/ManageList',hidden:false},
{title:'课程管理',path:'coursemanage',component:'course/CourseManage',hidden:true},
{title:'课程管理新版',path:'manage-remote',component:'course/ManageListRemote',hidden:false},
+ {title:'课程管理新版',path:'coursemanage-remote',component:'course/CourseManageRemote',hidden:true},
{title:'课程统计',path:'stat',component:'course/StatIndex',hidden:false},
{title:'课件管理',path:'courseware',component:'course/Courseware',hidden:false},
{title:'报名管理',path:'msignup',component:'study/ManageSignup',hidden:true},
@@ -120,6 +121,7 @@ export const iframes=[
{title:'课件管理', path:'/iframe/course/coursewares',hidden:false,component:'course/Courseware'},
{title:'课程管理', path:'/iframe/course/manages',hidden:false,component:'course/ManageList'},
{title:'课程管理新版', path:'/iframe/course/manage-remote',hidden:false,component:'course/ManageListRemote'},
+ {title:'课程管理新版', path:'/iframe/course/coursemanage-remote',hidden:false,component:'course/CourseManageRemote'},
{title:'考试试题管理', path:'/iframe/exam/questions',hidden:false,component:'exam/Question'},
{title:'查看答卷', path:'/iframe/exam/viewanswer',hidden:false,component:'exam/viewAnswer'},
{title:'考试试卷管理', path:'/iframe/exam/papers',hidden:false,component:'exam/TestPaper'},
diff --git a/src/views/course/CourseManageRemote.vue b/src/views/course/CourseManageRemote.vue
new file mode 100644
index 00000000..5026c967
--- /dev/null
+++ b/src/views/course/CourseManageRemote.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/course/ManageListRemote.vue b/src/views/course/ManageListRemote.vue
index 437d1b0e..0e882429 100644
--- a/src/views/course/ManageListRemote.vue
+++ b/src/views/course/ManageListRemote.vue
@@ -49,7 +49,6 @@
-
@@ -57,14 +56,13 @@
-
-
搜索
+
查询
重置
{{ showAdvancedFilter ? '收起' : '展开' }}
@@ -81,14 +79,12 @@
-
-
@@ -130,14 +126,13 @@
-
-
搜索
+
查询
重置
{{ showAdvancedFilter ? '收起' : '展开' }}
@@ -211,11 +206,6 @@
{{ scope.row.enabled == true ? '启用' : '停用' }}
-
-
- {{ formatOrderValue(scope.row) }}
-
-
{{ scope.row.openCourse == 1 ? '公开课' : '非公开课' }}
@@ -223,13 +213,13 @@
- {{ resOwnerName(scope.row.resOwner1) }}
- /{{ resOwnerName(scope.row.resOwner2) }}
- /{{ resOwnerName(scope.row.resOwner3) }}
+
+ {{ scope.row.orgName }}
+
-
+
教师端
管理员端
@@ -316,17 +306,32 @@
关闭
-
-
-
-
-
复制链接
+
+
+
+
+
+
+
+
+ 复制
+
+
+ 上述内容兼容PC端与移动端,您可按需分享。
+
-
-
+
@@ -470,15 +475,16 @@ export default {
pickerOptions: { shortcuts: [] },
manageStudyData: {},
expandDetails: true,
- qrcode: '',
- pcDetailUrl: '',
+ qrCodedialogVisible: false,
+ copyUrl: '',
+ qrcodeImgUrl: '',
+ showDownloadButton: false,
isExamine: 1,
auditInfo: {
pass: true,
remark: ''
},
dialogVisible: false,
- qrcodeShow: false,
currentPage4: 4,
inviteTeacher: {
//邀请
@@ -586,7 +592,7 @@ export default {
return;
}
if (query.length > 50) {
- this.$message.warning('授课教师搜索最多50个字符');
+ this.$message.warning('超过50个字的内容不让输入');
return;
}
this.teacherLoading = true;
@@ -923,11 +929,6 @@ export default {
handleChoose(row) { //选择课程
window.parent.selectCourse(row);
},
- myCopy() {
- var ele = document.getElementById("text");
- ele.select();
- document.execCommand("Copy");
- },
// 置顶
setTop(row) {
let params = {
@@ -1204,44 +1205,61 @@ export default {
];
},
showQrimage(row) {
- this.qrcodeShow = true;
-
- let urlPre = window.location.protocol + '//' + window.location.host;
-
- //动态的地址
- //urlPre=urlPre+'/m?returnUrl='+urlPre+'/mobile/pages/login/loading?returnUrl=';
- //固定的地址
- let returnUrl = urlPre + '/mobile/pages/login/loading?returnUrl=/pages/study/courseStudy?id=' + row.id;
- let mobilePre = urlPre + '/m?returnUrl=';
- this.qrcode = mobilePre + encodeURIComponent(returnUrl);
- this.pcDetailUrl = urlPre + this.webBaseUrl + '/course/studyindex?id=' + row.id;
- if (row.type == 20) {
- this.pcDetailUrl = urlPre + this.webBaseUrl + '/course/detail?id=' + row.id;
- }
-
- // 使用$nextTick确保数据渲染
+ // 使用本页二维码弹窗逻辑
+ this.qrCodedialogVisible = true;
+ // 与 TeacherList 保持一致的二维码生成逻辑
+ this.copyUrl = this.qrcodeImgUrl = `${process.env.VUE_APP_BOE_WEB_URL}/systemapi/xboe/m/course/manage/redirectDetail?courseId=${row.id}`;
this.$nextTick(() => {
this.crateQrcode();
});
},
- // 生成二维码
+ handleCopyUrl() {
+ const ele = document.getElementById('text');
+ if (!ele) return;
+ ele.select();
+ document.execCommand('Copy');
+ this.$message.success('复制成功');
+ },
+ downloadQrcode() {
+ const container = document.getElementById('qrcode');
+ if (!container) return;
+ const img = container.getElementsByTagName('img')[0];
+ if (!img) return;
+ const canvas = document.createElement('canvas');
+ canvas.width = img.width;
+ canvas.height = img.height;
+ const ctx = canvas.getContext('2d');
+ ctx.drawImage(img, 0, 0);
+ const tempUrl = canvas.toDataURL('image/png');
+ const link = document.createElement('a');
+ link.style.display = 'none';
+ link.href = tempUrl;
+ link.setAttribute('download', '二维码.jpg');
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ },
crateQrcode() {
- this.qr = new QRCode('qrcode', {
+ // eslint-disable-next-line no-new
+ new QRCode('qrcode', {
width: 150,
- height: 150, // 高度
- text: this.qrcode // 二维码内容
- // render: 'canvas' // 设置渲染方式(有两种方式 table和canvas,默认是canvas)
- // background: '#f0f'
- // foreground: '#ff0'
+ height: 150,
+ text: this.qrcodeImgUrl
});
},
// 关闭弹框,清除已经生成的二维码
closeCode() {
- this.$refs.qrcode.innerHTML = '';
+ this.qrCodedialogVisible = false;
+ // 逐个节点移除,避免事件丢失
+ const images = document.querySelectorAll('.qrcode-img img');
+ images.forEach(img => img.remove());
+ const canvas = document.querySelectorAll('.qrcode-img canvas');
+ canvas.forEach(c => c.remove());
},
showManageStudy(row) {
- this.manageStudyData = row;
- this.manageStudy.dlgShow = true;
+ // 带课程详情跳转到课程管理页
+ sessionStorage.setItem('courseDetail', JSON.stringify(row));
+ this.$router.push({ path: '/iframe/course/coursemanage-remote' });
},
showChooseCourse() {
this.courseChooseShow = true;
@@ -1348,6 +1366,13 @@ export default {
padding-right: 0px;
}
+.org-name-cell {
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
.el-button--text {
font-size: 14px;
}
@@ -1366,6 +1391,10 @@ export default {
.filter-form .el-form-item {
margin-right: 10px;
margin-bottom: 0;
+ width: 200px;
+}
+::v-deep .learning-time-range.el-form-item {
+ width: 300px;
}
.teacher-filter {
@@ -1426,11 +1455,6 @@ export default {
.learning-time-range .el-date-editor {
width: 300px;
}
-::v-deep .el-pagination {
- // margin-top: 16px;
- // padding: 0;
- // width: 50%;
-}
.pagination {
text-align: center;
padding: 40px 0 80px 0;