mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-15 22:06:43 +08:00
课程审核调整
This commit is contained in:
@@ -322,6 +322,22 @@ const audit = function(data) {
|
||||
return ajax.post('/xboe/m/course/manage/audit', data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 审核记录列表,分页查询
|
||||
*/
|
||||
const auditPageRecords = function(data) {
|
||||
return ajax.post('/xboe/m/course/audit/page-records', data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核记录列表,要卖课程id,查询出审核列记录信息
|
||||
* { courseId:必须}
|
||||
*/
|
||||
const auditCourseRecords = function(data) {
|
||||
return ajax.post('/xboe/m/course/audit/course-records', data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员的课程发布
|
||||
* @param {Object} query {ids:课程id,多个使用逗号分隔,title:课程的名称, Boolean pass 是否发布}
|
||||
@@ -440,6 +456,8 @@ export default {
|
||||
getAuditInfo,
|
||||
getAuditLogs,
|
||||
audit,
|
||||
auditPageRecords,
|
||||
auditCourseRecords,
|
||||
auditAndPublish,
|
||||
getAssess,
|
||||
setTop,
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
{{teacher && teacher.join(',')}}</el-form-item>
|
||||
<!-- <el-form-item label="系统标签">{{courseInfo.tags}}</el-form-item> -->
|
||||
<el-form-item label="课程来源">{{courseInfo.source == 2?'外部':'内部'}}</el-form-item>
|
||||
<el-form-item label="资源归属" >{{orgName}}</el-form-item>
|
||||
<el-form-item label="目标人群">{{courseInfo.forUsers}}</el-form-item>
|
||||
<el-form-item label="观看设置">
|
||||
{{courseInfo.device == 3? '多端可见': courseInfo.device == 2?'移动端可见':'PC端可见'}}
|
||||
@@ -60,7 +61,7 @@
|
||||
<el-col :span="8">
|
||||
<div @click.stop="chooseFile">
|
||||
<imageUpload :disabled="true" :value="courseCoverurl" width="160px" height="90px" @success="uploadCoverImgSuccess" @subimage="acceptimage" @remove="removeCoverImgSuccess"></imageUpload>
|
||||
|
||||
|
||||
</div>
|
||||
<div>上传为16:9(如:800*450)的png或jpg图片</div>
|
||||
</el-col>
|
||||
@@ -93,6 +94,11 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="资源归属" required>
|
||||
<el-input placeholder="请选择" v-model="orgName" >
|
||||
<el-button @click="showChooseOrg()" slot="append" icon="el-icon-search">选择</el-button>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="目标人群" >
|
||||
<el-input maxlength="50" show-word-limit v-model="courseInfo.forUsers" placeholder="目标人群(限50字以内)"></el-input>
|
||||
</el-form-item>
|
||||
@@ -216,7 +222,7 @@
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<filecloud :show="dlgFileChoose.show" @choose="changeCourseImage" @close="choseChoose"></filecloud>
|
||||
|
||||
<chooseOrg ref="refChooseOrg" @confirm="confirmChooseOrg"></chooseOrg>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -233,6 +239,7 @@ import pdfPreview from "@/components/PdfPreview/index.vue";
|
||||
import weikeContent from "@/components/Course/weikeContent.vue";
|
||||
import catalogCourseware from "@/components/Course/catalogCourseware.vue";
|
||||
import apiCourse from "@/api/modules/course.js";
|
||||
import apiOrg from '../../api/system/organiza.js';
|
||||
import scene from "../../api/modules/scene.js";
|
||||
import exam from "@/components/Course/exam";
|
||||
import homework from "@/components/Course/homework";
|
||||
@@ -244,6 +251,7 @@ import audioPlayer from "@/components/AudioPlayer/index.vue";
|
||||
import apiCourseFile from '@/api/modules/courseFile.js';
|
||||
import filecloud from '@/components/FileCloud/index.vue';
|
||||
import { mapGetters, mapActions } from "vuex";
|
||||
import chooseOrg from '@/components/System/chooseOrg.vue';
|
||||
// import hyperLink from '@/components/Course/hyperLink.vue';
|
||||
export default {
|
||||
name: "auditCourse1",
|
||||
@@ -258,7 +266,8 @@ export default {
|
||||
WxEditor,
|
||||
pdfPreview,
|
||||
videoPlayer,
|
||||
audioPlayer
|
||||
audioPlayer,
|
||||
chooseOrg
|
||||
// hyperLink
|
||||
},
|
||||
computed: {
|
||||
@@ -326,6 +335,8 @@ export default {
|
||||
label: "name"
|
||||
},
|
||||
courseCoverurl: "",
|
||||
orgName:'',
|
||||
orgKid:'',
|
||||
courseInfo: {}, //基本信息
|
||||
dataList: [],
|
||||
activeName: "info",
|
||||
@@ -360,7 +371,16 @@ export default {
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
|
||||
showChooseOrg(){
|
||||
this.$refs.refChooseOrg.dlgShow = true;
|
||||
},
|
||||
confirmChooseOrg(orgInfo){
|
||||
//console.log(orgInfo,'orgInfo');
|
||||
this.orgName=orgInfo.name;
|
||||
this.orgKid=orgInfo.kid;
|
||||
this.courseInfo.orgId=orgInfo.id;
|
||||
this.$refs.refChooseOrg.dlgShow = false;
|
||||
},
|
||||
chooseFile(){
|
||||
this.dlgFileChoose.show=true;
|
||||
},
|
||||
@@ -570,6 +590,16 @@ export default {
|
||||
apiCoursePortal.detail(this.id,true).then(rs => {
|
||||
if (rs.status == 200) {
|
||||
this.courseInfo = rs.result.course;
|
||||
//加载所属机构名称
|
||||
this.orgKid='';
|
||||
if(this.courseInfo.orgId){
|
||||
apiOrg.getSimple(this.courseInfo.orgId).then(rrs=>{
|
||||
if(rrs.status==200){
|
||||
this.orgName=rrs.result.name;
|
||||
this.orgKid=rrs.result.kid;
|
||||
}
|
||||
})
|
||||
}
|
||||
this.teacherList = rs.result.teachers;
|
||||
this.teacherName = rs.result.teachers;
|
||||
this.teacher = rs.result.teachers.map(res => res.teacherName);
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
<!-- <el-form-item label="系统标签">
|
||||
{{courseInfo.tags}}
|
||||
</el-form-item> -->
|
||||
<el-form-item label="资源归属" >{{orgName}}</el-form-item>
|
||||
<el-form-item label="目标人群" >
|
||||
{{courseInfo.forUsers}}
|
||||
</el-form-item>
|
||||
@@ -75,7 +76,7 @@
|
||||
<el-col :span="8">
|
||||
<div @click.stop="chooseFile">
|
||||
<imageUpload :disabled="true" :value="courseCoverurl" width="160px" height="90px" @subimage="acceptimage" @success="uploadCoverImgSuccess" @remove="removeCoverImgSuccess"></imageUpload>
|
||||
|
||||
|
||||
</div>
|
||||
<div>上传为16:9(如:800*450)的png或jpg图片</div>
|
||||
</el-col>
|
||||
@@ -108,6 +109,11 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="资源归属" required>
|
||||
<el-input placeholder="请选择" v-model="orgName" >
|
||||
<el-button @click="showChooseOrg()" slot="append" icon="el-icon-search">选择</el-button>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="目标人群" >
|
||||
<el-input maxlength="50" show-word-limit v-model="courseInfo.forUsers" placeholder="目标人群(限50字以内)"></el-input>
|
||||
</el-form-item>
|
||||
@@ -254,17 +260,19 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<filecloud :show="dlgFileChoose.show" @choose="changeCourseImage" @close="choseChoose"></filecloud>
|
||||
|
||||
<chooseOrg ref="refChooseOrg" @confirm="confirmChooseOrg"></chooseOrg>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import apiCoursePortal from "@/api/modules/coursePortal.js";
|
||||
import apiOrg from '../../api/system/organiza.js';
|
||||
import exam from "@/components/Course/exam";
|
||||
import homework from "@/components/Course/homework";
|
||||
import pdfPreview from "@/components/PdfPreview/index.vue";
|
||||
import assess from "@/components/Course/assess";
|
||||
import apiTag from "../../api/modules/tag.js";
|
||||
import chooseOrg from '@/components/System/chooseOrg.vue';
|
||||
import {
|
||||
formatDate,
|
||||
courseType,
|
||||
@@ -297,7 +305,8 @@ export default {
|
||||
pdfPreview,
|
||||
videoPlayer,
|
||||
audioPlayer,
|
||||
hyperLink
|
||||
hyperLink,
|
||||
chooseOrg
|
||||
},
|
||||
props: {
|
||||
id: {
|
||||
@@ -358,6 +367,8 @@ export default {
|
||||
typeList: [], // 资源归属
|
||||
showTags: [], //用于显示标签
|
||||
teacherList: [],
|
||||
orgName:'',
|
||||
orgKid:'',
|
||||
courseInfo: {},
|
||||
courseCoverurl: "",
|
||||
sysTypeListMap:[],
|
||||
@@ -401,8 +412,17 @@ export default {
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
|
||||
chooseFile(){
|
||||
showChooseOrg(){
|
||||
this.$refs.refChooseOrg.dlgShow = true;
|
||||
},
|
||||
confirmChooseOrg(orgInfo){
|
||||
//console.log(orgInfo,'orgInfo');
|
||||
this.orgName=orgInfo.name;
|
||||
this.orgKid=orgInfo.kid;
|
||||
this.courseInfo.orgId=orgInfo.id;
|
||||
this.$refs.refChooseOrg.dlgShow = false;
|
||||
},
|
||||
chooseFile(){
|
||||
this.dlgFileChoose.show=true;
|
||||
},
|
||||
choseChoose(){
|
||||
@@ -610,6 +630,16 @@ export default {
|
||||
apiCoursePortal.detail(this.id,true).then(rs => {
|
||||
if (rs.status == 200) {
|
||||
this.courseInfo = rs.result.course;
|
||||
//加载所属机构名称
|
||||
this.orgKid='';
|
||||
if(this.courseInfo.orgId){
|
||||
apiOrg.getSimple(this.courseInfo.orgId).then(rrs=>{
|
||||
if(rrs.status==200){
|
||||
this.orgName=rrs.result.name;
|
||||
this.orgKid=rrs.result.kid;
|
||||
}
|
||||
})
|
||||
}
|
||||
if(rs.result.course.coverImg !== '') {
|
||||
this.courseCoverurl = this.fileBaseUrl + rs.result.course.coverImg;
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="资源归属" required>
|
||||
<el-input placeholder="请选择" v-model="orgName" >
|
||||
<el-button @click="showChooseOrg()" slot="append" icon="el-icon-search">选择</el-button>
|
||||
<el-button v-if="identity==3 || identity==5" @click="showChooseOrg()" slot="append" icon="el-icon-search">选择</el-button>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="场景" v-show="!weike.onlyRequired">
|
||||
@@ -243,7 +243,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="资源归属" required>
|
||||
<el-input placeholder="请选择" v-model="orgName" >
|
||||
<el-button @click="showChooseOrg()" slot="append" icon="el-icon-search">选择</el-button>
|
||||
<el-button v-if="identity==3 || identity==5" @click="showChooseOrg()" slot="append" icon="el-icon-search">选择</el-button>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="目标人群" required>
|
||||
@@ -493,7 +493,7 @@ export default {
|
||||
this.getSceneData();
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['resOwnerMap', 'sysTypeMap','userInfo']),
|
||||
...mapGetters(['resOwnerMap', 'sysTypeMap','userInfo','identity']),
|
||||
catalogTree() {
|
||||
let treeList = [];
|
||||
let $this = this;
|
||||
@@ -683,6 +683,9 @@ export default {
|
||||
this.biaoke.dlgShow = true;
|
||||
}
|
||||
}
|
||||
if(!this.courseInfo.orgId){
|
||||
this.courseInfo.orgId=this.userInfo.departId;
|
||||
}
|
||||
this.orgKid='';
|
||||
if(this.courseInfo.orgId){
|
||||
apiOrg.getSimple(this.courseInfo.orgId).then(rrs=>{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<!--机构树-->
|
||||
<div>
|
||||
<el-dialog title="先择组织机构" :visible.sync="dlgShow" :before-close="handleClose" :close-on-click-modal="false" width="500px" custom-class="g-dialog">
|
||||
<el-dialog title="先择组织机构" :append-to-body="true" :visible.sync="dlgShow" :before-close="handleClose" :close-on-click-modal="false" width="500px" custom-class="g-dialog">
|
||||
<div>
|
||||
<el-input placeholder="" v-model="orgName">
|
||||
<i slot="prefix" class="el-input__icon el-icon-search"></i>
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false;examin={}">取 消</el-button>
|
||||
<el-button type="primary" @click="examineData(true)">提交</el-button>
|
||||
<el-button :loading="btnLoading" type="primary" @click="examineData(true)">提交</el-button>
|
||||
<!-- <el-button type="primary" @click="examineData(true)">提交并发布</el-button> -->
|
||||
</span>
|
||||
</el-dialog>
|
||||
@@ -191,6 +191,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
btnLoading:false,
|
||||
sysTypeList: [],
|
||||
sysTypeListMap:[],
|
||||
resOwnerListMap:[],
|
||||
@@ -322,7 +323,8 @@ export default {
|
||||
examineData(flag) {
|
||||
if(this.isExamine == 1) {
|
||||
let params = {
|
||||
auditId:this.examin.auditId,
|
||||
auditId:this.examin.auditId,
|
||||
from:2,
|
||||
courseId:this.examin.examineId,//课程id,
|
||||
title:this.examin.examineName,//课程的名称,
|
||||
pass: this.auditInfo.pass,//Boolean 是否通过,
|
||||
@@ -434,11 +436,7 @@ export default {
|
||||
this.inviteTeacher.dlgShow = true;
|
||||
},
|
||||
findTeachers() {
|
||||
this.inviteTeacher.list = [
|
||||
{ id: '1', name: '李玉冰', type:'通过',text: '实用',sex: '男', code: '1023123', orgInfo: '教育技术中心', checked: false },
|
||||
{ id: '2', name: '李玉冰', type:'未通过',text: '内容在调整',sex: '男', code: '1023123', orgInfo: '教育技术中心', checked: false },
|
||||
{ id: '3', name: '李玉冰', type:'驳回',text: '内容重复',sex: '男', code: '1023123', orgInfo: '教育技术中心', checked: false }
|
||||
];
|
||||
this.inviteTeacher.list = [];
|
||||
},
|
||||
showQrimage() {
|
||||
this.qrcodeShow = true;
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
|
||||
<template>
|
||||
<div class="u-page">
|
||||
<div style="padding: 2px 0px 10px 0px;">
|
||||
<el-row :gutter="10">
|
||||
<!-- <el-col :span="6">
|
||||
<el-cascader placeholder="资源归属" clearable v-model="resOwner" :props="defaultProps" :options="resOwnerListMap"></el-cascader>
|
||||
</el-col> -->
|
||||
<div style="padding: 2px 0px 20px 0px;">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="4">
|
||||
<el-cascader placeholder="内容分类" clearable v-model="sysTypeList" :props="defaultTypeProps" :options="sysTypeListMap"></el-cascader>
|
||||
</el-col>
|
||||
@@ -13,27 +10,26 @@
|
||||
<el-input placeholder="创建人" v-model="params.createUser" clearable></el-input>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-input placeholder="名称" v-model="params.keyword" clearable></el-input>
|
||||
<el-input placeholder="课程名称" style="width:100%" v-model="params.keyword" clearable></el-input>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-select v-model="params.publish" placeholder="是否发布" clearable>
|
||||
<el-select v-model="params.status" placeholder="审核结果" clearable>
|
||||
<el-option label="全部" :value="null"></el-option>
|
||||
<el-option label="已发布" :value="true"></el-option>
|
||||
<el-option label="未发布" :value="false"></el-option>
|
||||
<el-option label="通过" :value="9"></el-option>
|
||||
<el-option label="未通过" :value="2"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-button type="primary" @click="searchData()" icon="el-icon-search">搜索</el-button>
|
||||
<el-col :span="8">
|
||||
<el-button type="primary" @click="getsearch()" icon="el-icon-search">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
<el-table :data="pageData" border stripe>
|
||||
<el-table-column label="序号" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="名称" prop="name" show-overflow-tooltip width="200px">
|
||||
<el-table-column label="序号" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="课程名称" prop="courseName" show-overflow-tooltip width="200px">
|
||||
<template slot-scope="scope">
|
||||
<span class="previewStyle" @click="viewTopic(scope.row)">{{ scope.row.name }}</span>
|
||||
<span class="previewStyle" @click="viewTopic(scope.row)">{{ scope.row.courseName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="内容分类" prop="sysType" sortable width="240px">
|
||||
@@ -43,29 +39,16 @@
|
||||
<span v-if="scope.row.sysType3 != ''">/{{sysTypeName(scope.row.sysType3)}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="资源归属" sortable prop="author" width="240px">
|
||||
<el-table-column label="审核状态" prop="status" width="120px">
|
||||
<template slot-scope="scope">
|
||||
<span>{{resOwnerName(scope.row.resOwner1)}}</span>
|
||||
<span v-if="scope.row.resOwner2 != ''">/{{resOwnerName(scope.row.resOwner2)}}</span>
|
||||
<span v-if="scope.row.resOwner3 != ''">/{{resOwnerName(scope.row.resOwner3)}}</span>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="状态" prop="status" width="120px">
|
||||
<template slot-scope="scope">
|
||||
<!-- 1,未提交 2.已提交 = 未审核 5 已审核 -->
|
||||
<span v-if="scope.row.status == 1">未提交</span>
|
||||
<span v-if="scope.row.status == 2">待审核</span>
|
||||
<span v-if="scope.row.status == 5">已审核</span>
|
||||
<span v-if="scope.row.status == 3">审核未通过</span>
|
||||
<span v-if="scope.row.status == 2">不通过</span>
|
||||
<span v-if="scope.row.status == 9">通过</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否发布" width="130px">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.published !== true ? '未发布' : '已发布' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建人" prop="sysCreateBy"></el-table-column>
|
||||
<el-table-column label="创建时间" prop="sysCreateTime" width="200px" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="创建人" prop="courseUser"></el-table-column>
|
||||
<el-table-column label="审核时间" prop="auditTime" width="200px" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="审核说明" prop="auditRemark" width="200px" show-overflow-tooltip></el-table-column>
|
||||
|
||||
<el-table-column label="操作" width="100px" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="toExamine(scope.row)" type="text" >审核记录</el-button>
|
||||
@@ -73,7 +56,7 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<div v-if="pageData.length > 0" style="text-align: center;margin-top:70px">
|
||||
<div v-if="pageData.length > 0" style="text-align: center;margin-top: 50px;">
|
||||
<el-pagination background
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
@@ -84,14 +67,15 @@
|
||||
:total="page.count"
|
||||
></el-pagination>
|
||||
</div>
|
||||
|
||||
<div style="height: 100px;"></div>
|
||||
<el-dialog title="审核记录" :visible.sync="dialogVisible" width="900px" custom-class="g-dialog">
|
||||
<div>
|
||||
<el-table max-height="500" border :data="inviteTeacher.list" style="width: 100%;">
|
||||
<el-table-column prop="sysCreateBy" label="姓名" width="180"></el-table-column>
|
||||
<el-table max-height="500" border :data="auditRecords" style="width: 100%;">
|
||||
<el-table-column prop="auditUser" label="审核人" width="180"></el-table-column>
|
||||
<el-table-column prop="type" label="审核状态">
|
||||
<template slot-scope="scope">{{scope.row.auditState? '通过': '不通过'}}
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.status==9">通过</span>
|
||||
<span v-if="scope.row.status==2">不通过</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="auditTime" label="审核时间"></el-table-column>
|
||||
@@ -105,10 +89,9 @@
|
||||
<el-dialog title="课程详情" :visible.sync="showDetails" @close="examin = {};" width="900px" custom-class="g-dialog">
|
||||
<div v-if="examin.detailType == 10"><auditCourse1 :showTest="true" :isDetails="false" :isShow="false" :id="examin.examineId"></auditCourse1></div>
|
||||
<div v-if="examin.detailType == 20"><auditCourse2 :showTest="true" :isDetails="false" :isShow="false" :id="examin.examineId"></auditCourse2></div>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="showDetails = false;examin = {};">取 消</el-button>
|
||||
</span>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="showDetails = false;examin = {};">取 消</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@@ -116,9 +99,11 @@
|
||||
<script>
|
||||
import courseForm from '@/components/Course/courseForm.vue';
|
||||
import manager from '@/components/Study/manager.vue';
|
||||
import QRCode from 'qrcodejs2';
|
||||
import auditCourse1 from '@/components/Course/auditCourse1.vue';
|
||||
import auditCourse2 from '@/components/Course/auditCourse2.vue';
|
||||
import adminPage from '@/components/Administration/adminPage.vue';
|
||||
import {courseType} from '../../utils/tools.js';//resOwnerListMap
|
||||
import apiType from '../../api/modules/type.js';
|
||||
import apiCourse from '../../api/modules/course.js';
|
||||
import apiAudit from '@/api/system/audit.js';
|
||||
@@ -128,7 +113,7 @@ export default {
|
||||
name: 'manageCourse',
|
||||
components: {courseForm, manager, auditCourse1, auditCourse2,adminPage },
|
||||
computed: {
|
||||
...mapGetters(['resOwnerMap','sysTypeMap']),
|
||||
...mapGetters(['resOwnerMap','sysTypeMap','userInfo']),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -136,37 +121,25 @@ export default {
|
||||
sysTypeListMap:[],
|
||||
resOwnerListMap:[],
|
||||
showDetails:false,
|
||||
examin:{
|
||||
detailType: '',
|
||||
examineId: '',
|
||||
examineName: '',
|
||||
},
|
||||
examin:{ detailType: '', examineId: '', examineName: ''},
|
||||
courseType: courseType,
|
||||
page: {
|
||||
pageIndex: 1,//第几页
|
||||
pageSize: 10, // 每页多少条
|
||||
count: 0
|
||||
},
|
||||
resOwner: [],
|
||||
defaultProps:{
|
||||
value: 'code',
|
||||
label: 'name',
|
||||
},
|
||||
defaultTypeProps:{
|
||||
value: 'id',
|
||||
label: 'name',
|
||||
},
|
||||
isExamine: 1,
|
||||
detailType: 1,
|
||||
dialogVisible: false,
|
||||
inviteTeacher: {
|
||||
//邀请
|
||||
dlgShow: false,
|
||||
params: { name: '' },
|
||||
list: []
|
||||
},
|
||||
params: {},
|
||||
params: {status:''},
|
||||
pageData:[],
|
||||
courseChooseShow: false,
|
||||
courseChooseId: '',
|
||||
auditRecords:[]
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
@@ -178,15 +151,15 @@ export default {
|
||||
this.getSysTypeTree().then(rs=>{
|
||||
this.sysTypeListMap=rs;
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
methods: {
|
||||
getseatch(){
|
||||
this.params.pageIndex= 1;
|
||||
getsearch(){
|
||||
this.params.pageIndex = 1;
|
||||
this.searchData();
|
||||
},
|
||||
},
|
||||
reset(){
|
||||
this.resOwner = ''
|
||||
this.resOwner = ''
|
||||
this.params.sysType = ''
|
||||
this.params.createUser = ''
|
||||
this.params.keyword = ''
|
||||
@@ -196,7 +169,7 @@ export default {
|
||||
this.params.sysType1 = '';
|
||||
this.params.sysType2 = '';
|
||||
this.params.sysType3 = '';
|
||||
this.params.pageIndex= 1;
|
||||
this.params.pageIndex = 1;
|
||||
this.searchData();
|
||||
},
|
||||
...mapActions({
|
||||
@@ -213,18 +186,17 @@ export default {
|
||||
if(code==''){return '';}
|
||||
return this.sysTypeMap.get(code);
|
||||
},
|
||||
async searchData() {
|
||||
this.params.resOwner1 = this.resOwner[0];
|
||||
this.params.resOwner2 = this.resOwner[1];
|
||||
this.params.resOwner3 = this.resOwner[2];
|
||||
this.params.status = 5;
|
||||
async searchData() {
|
||||
this.params.status = 9;
|
||||
this.params.forward=2;//未转发的处理
|
||||
this.params.toAid=this.userInfo.aid;
|
||||
this.params.pageIndex = this.page.pageIndex;
|
||||
this.params.pageSize = this.page.pageSize;
|
||||
this.params.sysType1 = this.sysTypeList[0];
|
||||
this.params.sysType2 = this.sysTypeList[1];
|
||||
this.params.sysType3 = this.sysTypeList[2];
|
||||
this.params.courseType1 = this.sysTypeList[0];
|
||||
this.params.courseType2 = this.sysTypeList[1];
|
||||
this.params.courseType3 = this.sysTypeList[2];
|
||||
try {
|
||||
const {result, status} = await apiCourse.auditList(this.params);
|
||||
const {result, status} = await apiCourse.auditPageRecords(this.params);
|
||||
if(status === 200) {
|
||||
this.pageData = result.list;
|
||||
this.page.count = result.count;
|
||||
@@ -234,19 +206,22 @@ export default {
|
||||
}
|
||||
},
|
||||
viewTopic(row) {
|
||||
this.examin.detailType = row.type;
|
||||
this.examin.examineId = row.id;
|
||||
this.examin.detailType = row.courseType;
|
||||
this.examin.examineId = row.courseId;
|
||||
this.examin.examineName = row.name;
|
||||
this.showDetails = true;
|
||||
},
|
||||
toExamine(row) {
|
||||
this.detailType = row.type;
|
||||
this.dialogVisible = true;
|
||||
apiAudit.page(1,row.id).then(res=>{
|
||||
let req={
|
||||
courseId:row.courseId
|
||||
}
|
||||
apiCourse.auditCourseRecords(req).then(res=>{
|
||||
if (res.status === 200) {
|
||||
this.inviteTeacher.list = res.result;
|
||||
this.auditRecords = res.result;
|
||||
} else {
|
||||
this.$message.error(res.message);
|
||||
this.$message.error(res.message);
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -258,16 +233,18 @@ export default {
|
||||
handleCurrentChange(val) {
|
||||
this.page.pageIndex = val;
|
||||
this.searchData();
|
||||
},
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.list-wu{
|
||||
text-align: center;
|
||||
margin: 40px;
|
||||
color: #333;
|
||||
|
||||
.el-col {
|
||||
padding: 0 0 0 10px !important;
|
||||
}
|
||||
.grid-content {
|
||||
padding-right: 0px;
|
||||
}
|
||||
.course-types {
|
||||
display: flex;
|
||||
@@ -282,7 +259,7 @@ export default {
|
||||
img {
|
||||
width: 110px;
|
||||
height: 110px;
|
||||
|
||||
|
||||
}
|
||||
.info {
|
||||
padding-top: 10px;
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false;examin={}">取 消</el-button>
|
||||
<el-button type="primary" @click="examineData(true)">提交</el-button>
|
||||
<el-button :loading="btnLoading" type="primary" @click="examineData(true)">提交</el-button>
|
||||
<!-- <el-button type="primary" @click="examineData(true)">提交并发布</el-button> -->
|
||||
</span>
|
||||
</el-dialog>
|
||||
@@ -232,6 +232,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
btnLoading:false,
|
||||
selectedTeacher:'',
|
||||
teacherInfo:{
|
||||
show:false,
|
||||
@@ -441,16 +442,18 @@ export default {
|
||||
}
|
||||
|
||||
},
|
||||
// 直接审核
|
||||
//直接审核
|
||||
examineData(flag) {
|
||||
if(this.isExamine == 1) {
|
||||
let params = {
|
||||
auditId:this.examin.auditId,//审核记录的id
|
||||
from:1,
|
||||
courseId:this.examin.examineId,//课程id,
|
||||
title:this.examin.examineName,//课程的名称,
|
||||
pass: this.auditInfo.pass,//Boolean 是否通过,
|
||||
remark: this.auditInfo.remark// 备注
|
||||
}
|
||||
this.btnLoading=true;
|
||||
if(flag){
|
||||
apiCourse.auditAndPublish(params).then(res=>{
|
||||
if(res.status === 200) {
|
||||
@@ -461,6 +464,7 @@ export default {
|
||||
}else{
|
||||
this.$message.error(res.message);
|
||||
}
|
||||
this.btnLoading=false;
|
||||
})
|
||||
}else{
|
||||
apiCourse.audit(params).then(res=>{
|
||||
@@ -472,6 +476,7 @@ export default {
|
||||
}else{
|
||||
this.$message.error(res.message);
|
||||
}
|
||||
this.btnLoading=false;
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -1,25 +1,22 @@
|
||||
|
||||
<template>
|
||||
<div class="u-page">
|
||||
<div style="padding: 2px 0px 10px 0px;">
|
||||
<el-row :gutter="20">
|
||||
<!-- <el-col :span="6">
|
||||
<el-cascader placeholder="资源归属" clearable v-model="resOwner" :props="defaultProps" :options="resOwnerListMap"></el-cascader>
|
||||
</el-col> -->
|
||||
<el-col :span="3">
|
||||
<div style="padding: 2px 0px 20px 0px;">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="4">
|
||||
<el-cascader placeholder="内容分类" clearable v-model="sysTypeList" :props="defaultTypeProps" :options="sysTypeListMap"></el-cascader>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-input placeholder="创建人" v-model="params.createUser" clearable></el-input>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-input placeholder="名称" style="width:100%" v-model="params.keyword" clearable></el-input>
|
||||
<el-input placeholder="课程名称" style="width:100%" v-model="params.keyword" clearable></el-input>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-select v-model="params.publish" placeholder="是否发布" clearable>
|
||||
<el-select v-model="params.status" placeholder="审核结果" clearable>
|
||||
<el-option label="全部" :value="null"></el-option>
|
||||
<el-option label="已发布" :value="true"></el-option>
|
||||
<el-option label="未发布" :value="false"></el-option>
|
||||
<el-option label="通过" :value="9"></el-option>
|
||||
<el-option label="未通过" :value="2"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@@ -27,16 +24,12 @@
|
||||
<el-button icon="el-icon-refresh-right" type="primary" @click="reset">重置</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="10" style="margin-top:10px">
|
||||
|
||||
|
||||
</el-row>
|
||||
</div>
|
||||
<el-table :data="pageData" border stripe>
|
||||
<el-table-column label="序号" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="名称" prop="name" show-overflow-tooltip width="200px">
|
||||
<el-table-column label="序号" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="课程名称" prop="courseName" show-overflow-tooltip width="200px">
|
||||
<template slot-scope="scope">
|
||||
<span class="previewStyle" @click="viewTopic(scope.row)">{{ scope.row.name }}</span>
|
||||
<span class="previewStyle" @click="viewTopic(scope.row)">{{ scope.row.courseName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="内容分类" prop="sysType" sortable width="240px">
|
||||
@@ -46,34 +39,16 @@
|
||||
<span v-if="scope.row.sysType3 != ''">/{{sysTypeName(scope.row.sysType3)}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="资源归属" sortable prop="author" width="240px">
|
||||
<el-table-column label="审核状态" prop="status" width="120px">
|
||||
<template slot-scope="scope">
|
||||
<span>{{resOwnerName(scope.row.resOwner1)}}</span>
|
||||
<span v-if="scope.row.resOwner2 != ''">/{{resOwnerName(scope.row.resOwner2)}}</span>
|
||||
<span v-if="scope.row.resOwner3 != ''">/{{resOwnerName(scope.row.resOwner3)}}</span>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column label="授课方式" prop="type" width="120px">
|
||||
<template slot-scope="scope">
|
||||
{{ courseType(scope.row.type)}}
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="状态" prop="status" width="120px">
|
||||
<template slot-scope="scope">
|
||||
<!-- 1,未提交 2.已提交 = 未审核 5 已审核 -->
|
||||
<span v-if="scope.row.status == 1">未提交</span>
|
||||
<span v-if="scope.row.status == 2">待审核</span>
|
||||
<span v-if="scope.row.status == 5">已审核</span>
|
||||
<span v-if="scope.row.status == 3">审核未通过</span>
|
||||
<span v-if="scope.row.status == 2">不通过</span>
|
||||
<span v-if="scope.row.status == 9">通过</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否发布" width="130px">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.published !== true ? '未发布' : '已发布' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建人" prop="sysCreateBy"></el-table-column>
|
||||
<el-table-column label="创建时间" prop="sysCreateTime" width="200px" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="创建人" prop="courseUser"></el-table-column>
|
||||
<el-table-column label="审核时间" prop="auditTime" width="200px" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="审核说明" prop="auditRemark" width="200px" show-overflow-tooltip></el-table-column>
|
||||
|
||||
<el-table-column label="操作" width="100px" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="toExamine(scope.row)" type="text" >审核记录</el-button>
|
||||
@@ -82,8 +57,7 @@
|
||||
</el-table>
|
||||
|
||||
<div v-if="pageData.length > 0" style="text-align: center;margin-top: 50px;">
|
||||
<el-pagination
|
||||
background
|
||||
<el-pagination background
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="page.pageIndex"
|
||||
@@ -96,10 +70,12 @@
|
||||
<div style="height: 100px;"></div>
|
||||
<el-dialog title="审核记录" :visible.sync="dialogVisible" width="900px" custom-class="g-dialog">
|
||||
<div>
|
||||
<el-table max-height="500" border :data="inviteTeacher.list" style="width: 100%;">
|
||||
<el-table-column prop="sysCreateBy" label="姓名" width="180"></el-table-column>
|
||||
<el-table max-height="500" border :data="auditRecords" style="width: 100%;">
|
||||
<el-table-column prop="auditUser" label="审核人" width="180"></el-table-column>
|
||||
<el-table-column prop="type" label="审核状态">
|
||||
<template slot-scope="scope">{{scope.row.auditState? '通过': '不通过'}}
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.status==9">通过</span>
|
||||
<span v-if="scope.row.status==2">不通过</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="auditTime" label="审核时间"></el-table-column>
|
||||
@@ -113,10 +89,9 @@
|
||||
<el-dialog title="课程详情" :visible.sync="showDetails" @close="examin = {};" width="900px" custom-class="g-dialog">
|
||||
<div v-if="examin.detailType == 10"><auditCourse1 :showTest="true" :isDetails="false" :isShow="false" :id="examin.examineId"></auditCourse1></div>
|
||||
<div v-if="examin.detailType == 20"><auditCourse2 :showTest="true" :isDetails="false" :isShow="false" :id="examin.examineId"></auditCourse2></div>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="showDetails = false;examin = {};">取 消</el-button>
|
||||
</span>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="showDetails = false;examin = {};">取 消</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@@ -138,7 +113,7 @@ export default {
|
||||
name: 'manageCourse',
|
||||
components: {courseForm, manager, auditCourse1, auditCourse2,adminPage },
|
||||
computed: {
|
||||
...mapGetters(['resOwnerMap','sysTypeMap']),
|
||||
...mapGetters(['resOwnerMap','sysTypeMap','userInfo']),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -146,81 +121,25 @@ export default {
|
||||
sysTypeListMap:[],
|
||||
resOwnerListMap:[],
|
||||
showDetails:false,
|
||||
examin:{
|
||||
detailType: '',
|
||||
examineId: '',
|
||||
examineName: '',
|
||||
},
|
||||
paperJson:{items:[]},
|
||||
courseType: courseType,
|
||||
examin:{ detailType: '', examineId: '', examineName: ''},
|
||||
courseType: courseType,
|
||||
page: {
|
||||
pageIndex: 1,//第几页
|
||||
pageSize: 10, // 每页多少条
|
||||
count: 0
|
||||
},
|
||||
resOwner: [],
|
||||
defaultProps:{
|
||||
value: 'code',
|
||||
label: 'name',
|
||||
},
|
||||
defaultTypeProps:{
|
||||
value: 'id',
|
||||
label: 'name',
|
||||
},
|
||||
manageStudyData: {},
|
||||
qrcode: '',
|
||||
isExamine: 1,
|
||||
auditInfo: {
|
||||
pass: true,
|
||||
remark: ''
|
||||
},
|
||||
detailType: 1,
|
||||
dialogVisible: false,
|
||||
qrcodeShow: false,
|
||||
currentPage4: 4,
|
||||
inviteTeacher: {
|
||||
//邀请
|
||||
dlgShow: false,
|
||||
params: { name: '' },
|
||||
list: []
|
||||
},
|
||||
manageStudy: {
|
||||
dlgShow: false
|
||||
},
|
||||
params: {},
|
||||
// optionsList: [],
|
||||
// typeList: [],
|
||||
params: {status:''},
|
||||
pageData:[],
|
||||
courseChooseShow: false,
|
||||
courseChooseId: '',
|
||||
|
||||
weike: {
|
||||
onlyRequired: false,
|
||||
dlgShow: false,
|
||||
fileType: '',
|
||||
info: {
|
||||
shebei: ''
|
||||
}
|
||||
},
|
||||
biaoke: {
|
||||
dlgShow: false
|
||||
},
|
||||
recommend: {
|
||||
dlgShow: false,
|
||||
records: [
|
||||
{ addTime: '2022-02-14 11:30:00', toType: 2, status: 9, toAid: '', toName: '受众名称', toInfo: '', remark: '' },
|
||||
{ addTime: '2022-02-14 11:30:00', toType: 2, status: 3, toAid: '', toName: '受众名称', toInfo: '', remark: '' },
|
||||
{ addTime: '2022-02-14 11:30:00', toType: 2, status: 9, toAid: '', toName: '受众名称', toInfo: '', remark: '' }
|
||||
]
|
||||
},
|
||||
catalogs: {
|
||||
addNewZhang: false,
|
||||
addNewCell: false,
|
||||
treeList: [
|
||||
{ id: '1', name: '第一章', children: [{ id: '11', name: '第一单元' }, { id: '12', name: '第二单元' }, { id: '13', name: '第三单元' }] },
|
||||
{ id: '2', name: '第二章', children: [{ id: '21', name: '第一单元' }, { id: '22', name: '第二单元' }, { id: '23', name: '第三单元' }] }
|
||||
]
|
||||
}
|
||||
auditRecords:[]
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
@@ -232,7 +151,7 @@ export default {
|
||||
this.getSysTypeTree().then(rs=>{
|
||||
this.sysTypeListMap=rs;
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
methods: {
|
||||
getsearch(){
|
||||
@@ -240,7 +159,7 @@ export default {
|
||||
this.searchData();
|
||||
},
|
||||
reset(){
|
||||
this.resOwner = ''
|
||||
this.resOwner = ''
|
||||
this.params.sysType = ''
|
||||
this.params.createUser = ''
|
||||
this.params.keyword = ''
|
||||
@@ -267,18 +186,17 @@ export default {
|
||||
if(code==''){return '';}
|
||||
return this.sysTypeMap.get(code);
|
||||
},
|
||||
async searchData() {
|
||||
this.params.resOwner1 = this.resOwner[0];
|
||||
this.params.resOwner2 = this.resOwner[1];
|
||||
this.params.resOwner3 = this.resOwner[2];
|
||||
this.params.status = 5;
|
||||
async searchData() {
|
||||
this.params.status = 9;
|
||||
this.params.forward=1;//未转发的处理
|
||||
this.params.aid=this.userInfo.aid;
|
||||
this.params.pageIndex = this.page.pageIndex;
|
||||
this.params.pageSize = this.page.pageSize;
|
||||
this.params.sysType1 = this.sysTypeList[0];
|
||||
this.params.sysType2 = this.sysTypeList[1];
|
||||
this.params.sysType3 = this.sysTypeList[2];
|
||||
this.params.courseType1 = this.sysTypeList[0];
|
||||
this.params.courseType2 = this.sysTypeList[1];
|
||||
this.params.courseType3 = this.sysTypeList[2];
|
||||
try {
|
||||
const {result, status} = await apiCourse.auditList(this.params);
|
||||
const {result, status} = await apiCourse.auditPageRecords(this.params);
|
||||
if(status === 200) {
|
||||
this.pageData = result.list;
|
||||
this.page.count = result.count;
|
||||
@@ -287,46 +205,26 @@ export default {
|
||||
console.log(error);
|
||||
}
|
||||
},
|
||||
// async getTypeData() {
|
||||
// try {
|
||||
// const {result, status} = await apiType.tree(1);
|
||||
// if(status === 200) {
|
||||
// this.optionsList = result;
|
||||
// }
|
||||
// } catch (error) {
|
||||
// console.log(error);
|
||||
// }
|
||||
// },
|
||||
viewTopic(row) {
|
||||
|
||||
this.examin.detailType = row.type;
|
||||
this.examin.examineId = row.id;
|
||||
this.examin.detailType = row.courseType;
|
||||
this.examin.examineId = row.courseId;
|
||||
this.examin.examineName = row.name;
|
||||
this.showDetails = true;
|
||||
},
|
||||
editCurriculum(row) {
|
||||
this.editData = row;
|
||||
},
|
||||
jumpDetails() {
|
||||
// this.$router.push('/course/micro');
|
||||
// 跳转打开新页面
|
||||
let routeData = this.$router.resolve({ path: '/course/micro'}); // , query: { id: 1 }
|
||||
window.open(this.webBaseUrl+routeData.href, '_blank');
|
||||
},
|
||||
toExamine(row) {
|
||||
this.detailType = row.type;
|
||||
this.dialogVisible = true;
|
||||
apiAudit.page(1,row.id).then(res=>{
|
||||
let req={
|
||||
courseId:row.courseId
|
||||
}
|
||||
apiCourse.auditCourseRecords(req).then(res=>{
|
||||
if (res.status === 200) {
|
||||
this.inviteTeacher.list = res.result;
|
||||
this.auditRecords = res.result;
|
||||
} else {
|
||||
this.$message.error(res.message);
|
||||
this.$message.error(res.message);
|
||||
}
|
||||
})
|
||||
},
|
||||
enSure() {
|
||||
// 确认事件
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.page.pageSize = val;
|
||||
this.page.pageIndex = 1;
|
||||
@@ -335,133 +233,6 @@ export default {
|
||||
handleCurrentChange(val) {
|
||||
this.page.pageIndex = val;
|
||||
this.searchData();
|
||||
},
|
||||
chooseInvite(row) {
|
||||
//邀请老师审核
|
||||
this.inviteTeacher.dlgShow = true;
|
||||
},
|
||||
findTeachers() {
|
||||
this.inviteTeacher.list = [
|
||||
{ id: '1', name: '李玉冰', type:'通过',text: '实用',sex: '男', code: '1023123', orgInfo: '教育技术中心', checked: false },
|
||||
{ id: '2', name: '李玉冰', type:'未通过',text: '内容在调整',sex: '男', code: '1023123', orgInfo: '教育技术中心', checked: false },
|
||||
{ id: '3', name: '李玉冰', type:'驳回',text: '内容重复',sex: '男', code: '1023123', orgInfo: '教育技术中心', checked: false }
|
||||
];
|
||||
},
|
||||
showQrimage() {
|
||||
this.qrcodeShow = true;
|
||||
// 二维码内容,一般是由后台返回的跳转链接,这里是写死的一个链接
|
||||
this.qrcode = 'https://yuchengkai.cn/docs/frontend/#typeof';
|
||||
// 使用$nextTick确保数据渲染
|
||||
this.$nextTick(() => {
|
||||
this.crateQrcode();
|
||||
});
|
||||
},
|
||||
// creatQrCode() {
|
||||
|
||||
// },
|
||||
// 生成二维码
|
||||
crateQrcode() {
|
||||
this.qr = new QRCode('qrcode', {
|
||||
width: 150,
|
||||
height: 150, // 高度
|
||||
text: this.qrcode // 二维码内容
|
||||
// render: 'canvas' // 设置渲染方式(有两种方式 table和canvas,默认是canvas)
|
||||
// background: '#f0f'
|
||||
// foreground: '#ff0'
|
||||
});
|
||||
},
|
||||
// 关闭弹框,清除已经生成的二维码
|
||||
closeCode() {
|
||||
this.$refs.qrcode.innerHTML = '';
|
||||
},
|
||||
showManageStudy(row) {
|
||||
console.log(row);
|
||||
this.manageStudyData = row;
|
||||
this.manageStudy.dlgShow = true;
|
||||
},
|
||||
releaseData(row) {
|
||||
this.$confirm('正在发布考试, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
this.pageData.list.forEach((item, index) => {
|
||||
if (item.id === row.id) {
|
||||
item.collectNumber = 1;
|
||||
}
|
||||
});
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '发布成功!'
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
});
|
||||
});
|
||||
},
|
||||
showChooseCourse() {
|
||||
this.courseChooseShow = true;
|
||||
},
|
||||
chooseCourseType(item, idx) {
|
||||
this.courseChooseId = item.id;
|
||||
},
|
||||
toInputCourse() {
|
||||
if (this.courseChooseId == '1') {
|
||||
this.showWeike();
|
||||
} else if (this.courseChooseId == '2') {
|
||||
this.showBiaoke();
|
||||
}
|
||||
this.courseChooseShow = false;
|
||||
},
|
||||
newHandleClick() {},
|
||||
showRecords(item) {
|
||||
this.recommend.dlgShow = true;
|
||||
},
|
||||
showWeike() {
|
||||
this.weike.dlgShow = true;
|
||||
},
|
||||
showBiaoke() {
|
||||
this.biaoke.dlgShow = true;
|
||||
},
|
||||
setTop(item, idx) {
|
||||
let msg = '已设置置顶';
|
||||
if (item.isTop) {
|
||||
item.isTop = false;
|
||||
msg = '已取消置顶';
|
||||
} else {
|
||||
item.isTop = true;
|
||||
}
|
||||
this.$message({ message: msg, type: 'success', offset: 50 });
|
||||
},
|
||||
delItem(item, idx) {
|
||||
this.$confirm('您确定要删除所选课程吗?', '删除提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
this.items.splice(idx, 1);
|
||||
this.$message({ type: 'success', message: '删除成功!', offset: 50 });
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({ type: 'info', message: '已取消删除', offset: 50 });
|
||||
});
|
||||
},
|
||||
showAddCatalogZhang(bal) {
|
||||
this.catalogs.addNewZhang = bal;
|
||||
},
|
||||
saveNewCatalogZhang() {
|
||||
this.catalogs.addNewZhang = false;
|
||||
},
|
||||
filterType(value, row) {
|
||||
return row.type === value;
|
||||
},
|
||||
filterStatus(value, row) {
|
||||
return row.status === value;
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -488,7 +259,7 @@ export default {
|
||||
img {
|
||||
width: 110px;
|
||||
height: 110px;
|
||||
|
||||
|
||||
}
|
||||
.info {
|
||||
padding-top: 10px;
|
||||
|
||||
Reference in New Issue
Block a user