mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-10 11:26:43 +08:00
课程审核的调整
This commit is contained in:
@@ -274,6 +274,7 @@ const countWaitAudit = function() {
|
||||
}
|
||||
|
||||
/**
|
||||
* [已用courseAudit中的hrbpAuditList替换]
|
||||
* 当前用户需要审核的课程列表
|
||||
* @param {Object} query 同pageList
|
||||
*/
|
||||
@@ -282,7 +283,10 @@ const auditList = function(query) {
|
||||
}
|
||||
|
||||
|
||||
/**教师需要审核的课程列表*/
|
||||
/**
|
||||
* 【已移到courseAudit中】
|
||||
* 教师需要审核的课程列表
|
||||
*/
|
||||
const teacherAuditList = function(query) {
|
||||
return ajax.post('/xboe/m/course/audit/teacher-course', query);
|
||||
}
|
||||
|
||||
@@ -68,14 +68,21 @@ const lastAuditSubmit = function(data) {
|
||||
return ajax.post('/xboe/m/course/audit/last-audit-submit', data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 提交并发布,对于默认管理员调用此方法
|
||||
* @param {Object} data
|
||||
* CourseFullDto
|
||||
*/
|
||||
const submitAndPublish = function(data) {
|
||||
return ajax.postJson('/xboe/m/course/audit/submit-publish', data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取审核信息,上面教师点击审核课程时,用于查询,上面“转审”时,用户填写的备注信息
|
||||
* @param {courseId:'课程id',teacherId:'可以不填写,系统会查询当前人'} data
|
||||
*/
|
||||
const getAuditInfo = function(data) {
|
||||
return ajax.post('/xboe/m/course/audit/infos', data);
|
||||
const getAuditInfo = function(auditId) {
|
||||
return ajax.post('/xboe/m/course/audit/hrbp-detail', {auditId});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -102,6 +109,7 @@ export default {
|
||||
teacherAuditSubmit,
|
||||
lastAuditList,
|
||||
lastAuditSubmit,
|
||||
submitAndPublish,
|
||||
getAuditInfo,
|
||||
auditPageRecords,
|
||||
auditCourseRecords
|
||||
|
||||
@@ -397,6 +397,7 @@ import apiTag from '../../api/modules/tag.js';
|
||||
import apiHRBP from '../../api/boe/HRBP.js';
|
||||
import apiUserBasic from '../../api/boe/userbasic.js';
|
||||
import apiCourse from '../../api/modules/course.js';
|
||||
import apiCourseAudit from '../../api/modules/courseAudit.js';
|
||||
import apiOrg from '../../api/system/organiza.js';
|
||||
import apiUser from '../../api/system/user.js';
|
||||
import WxEditor from '@/components/Editor/index.vue';
|
||||
@@ -1300,7 +1301,6 @@ export default {
|
||||
return true;
|
||||
},
|
||||
submitCourse() {
|
||||
|
||||
if(this.biaoke.dlgShow && !this.unsavedContent()){
|
||||
this.$message.error('您有未保存的内容,请先保存');
|
||||
return;
|
||||
@@ -1420,7 +1420,24 @@ export default {
|
||||
};
|
||||
this.btnLoading = true;
|
||||
let $this = this;
|
||||
//console.log(this.courseInfo.orgId,'this.courseInfo.orgId')
|
||||
//2023-1-5 对于默认管理员,不需要提交hrbp。直接提交并发布
|
||||
let adminType=this.userInfo.adminType;
|
||||
if(adminType==1){ //默认管理员,直接审核通过
|
||||
apiCourseAudit.submitAndPublish(postData).then(res=>{
|
||||
setTimeout(function() {
|
||||
$this.btnLoading = false;
|
||||
}, 1000);
|
||||
if (res.status === 200) {
|
||||
//提交成功,直接关闭当前窗口
|
||||
this.$message.success('提交成功!!!');
|
||||
} else {
|
||||
this.$message.error(res.message);
|
||||
}
|
||||
this.biaoke.dlgShow = false;
|
||||
this.weike.dlgShow = false;
|
||||
this.$emit('submitSuccess');
|
||||
});
|
||||
}else{
|
||||
//先获取HRBP审核 人员信息,姓名,机构路径,工号,用于邮件中的信息
|
||||
apiUserBasic.getOrgHrbpInfo(this.courseInfo.orgId).then(rs=>{
|
||||
if(rs.status==200 && rs.result){
|
||||
@@ -1432,19 +1449,6 @@ export default {
|
||||
orgId:rs.result.orgId
|
||||
}
|
||||
postData.course.orgName=rs.result.orgNamePath+'/'+rs.result.orgName;
|
||||
|
||||
// apiHRBP.getHRBP(this.orgKid).then(rs=>{
|
||||
// if(rs.status==200 && rs.result.length>0){
|
||||
// let hrbpUser=rs.result[0];
|
||||
// postData.auditUser={
|
||||
// email:hrbpUser.email,
|
||||
// code:hrbpUser.user_no,
|
||||
// name:hrbpUser.real_name,
|
||||
// kid:hrbpUser.user_id,
|
||||
// orgId:hrbpUser.orgnization_id
|
||||
// }
|
||||
// postData.course.orgName=hrbpUser.orgnization_name_path+'/'+$this.orgName;
|
||||
|
||||
apiCourse.submitCourse(postData).then(res => {
|
||||
//this.btnLoading=false;
|
||||
setTimeout(function() {
|
||||
@@ -1473,7 +1477,7 @@ export default {
|
||||
this.$message.error('获取审核HRBP失败,请检查资源归属下是否有HRBP审核人员');
|
||||
$this.btnLoading = false;
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
// 教师列标,远程查询
|
||||
async remoteFindTeacher(query) {
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
<li>
|
||||
<router-link @click.native="setCurIdentity(1)" to="/user/ucurrency">
|
||||
<span class="label">我的U币</span>
|
||||
<p><span>{{userData.uvalue}}</span>个</p>
|
||||
<p><span>{{userData.uvalue>0? userData.uvalue:0 }}</span>个</p>
|
||||
</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -118,7 +118,7 @@ export default {
|
||||
return {
|
||||
loading: true,
|
||||
btnLoading:false,
|
||||
params: {courseName:'',status:''},
|
||||
params: {courseName:'',status:1},
|
||||
sysTypeList: [],
|
||||
sysTypeListMap:[],
|
||||
showDetails:false,
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
<!-- <el-button @click="isExamine = 2">邀请审核</el-button> -->
|
||||
</div>
|
||||
|
||||
<el-form label-width="80px" v-if="isExamine === 1">
|
||||
<el-form label-width="80px">
|
||||
<el-form-item label="审核">
|
||||
<el-radio-group v-model="auditInfo.pass">
|
||||
<el-radio :label="true">通过</el-radio>
|
||||
@@ -116,32 +116,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="审核意见"><el-input v-model="auditInfo.remark" type="textarea" rows="3"></el-input></el-form-item>
|
||||
</el-form>
|
||||
<div v-if="isExamine === 2">
|
||||
<div style="display: flex;justify-content:flex-start;padding-bottom: 10px;">
|
||||
<div style="padding: 0px 5px;"><el-input placeholder="姓名" v-model="inviteTeacher.params.name"></el-input></div>
|
||||
<div style="padding: 0px 5px;"><el-button @click="findTeachers()" icon="el-icon-search" type="primary" >搜索</el-button></div>
|
||||
</div>
|
||||
<div>
|
||||
<el-table v-if="inviteTeacher.list.length !== 0" max-height="500" border :data="inviteTeacher.list" style="width: 100%;margin-bottom: 10px;">
|
||||
<el-table-column prop="name" label="姓名" width="180"></el-table-column>
|
||||
<el-table-column prop="code" label="工号"></el-table-column>
|
||||
<el-table-column prop="orgInfo" label="组织"></el-table-column>
|
||||
<el-table-column prop="orgInfo" label="选择">
|
||||
<template slot-scope="scope">
|
||||
<el-radio v-model="scope.row.checked">选择</el-radio>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div>审核记录:</div>
|
||||
<el-table max-height="500" border :data="inviteTeacher.list" style="width: 100%;">
|
||||
<el-table-column prop="name" label="姓名" width="180"></el-table-column>
|
||||
<el-table-column prop="code" label="工号"></el-table-column>
|
||||
<el-table-column prop="orgInfo" label="组织"></el-table-column>
|
||||
<el-table-column prop="type" label="审核状态"></el-table-column>
|
||||
<el-table-column prop="text" label="备注"></el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-if="audit.length > 0" style="border-top: 1px solid #eee; background-color: #eee; padding: 10px 20px;margin-top: 10px;">
|
||||
<div style="line-height: 36px;">
|
||||
@@ -165,7 +140,7 @@
|
||||
<!-- </div> -->
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="showDetails = false;examin = {};">取 消</el-button>
|
||||
<el-button @click="showDetails = false;examin = {};">关 闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -204,25 +179,14 @@ export default {
|
||||
auditId:'',
|
||||
examineName: '',
|
||||
},
|
||||
paperJson:{items:[]},
|
||||
courseType: courseType,
|
||||
page: {
|
||||
pageIndex: 1,//第几页
|
||||
pageSize: 10, // 每页多少条
|
||||
count: 0
|
||||
},
|
||||
params: {},
|
||||
pageData:[],
|
||||
page: {pageIndex: 1,pageSize: 10,count: 0},
|
||||
resOwner: [],
|
||||
defaultProps:{
|
||||
value: 'code',
|
||||
label: 'name',
|
||||
},
|
||||
defaultTypeProps:{
|
||||
value: 'id',
|
||||
label: 'name',
|
||||
},
|
||||
manageStudyData: {},
|
||||
defaultProps:{value: 'code',label: 'name'},
|
||||
defaultTypeProps:{value: 'id',label: 'name'},
|
||||
expandDetails: false,
|
||||
qrcode: '',
|
||||
isExamine: 1,
|
||||
auditInfo: {
|
||||
pass: true,
|
||||
@@ -230,39 +194,6 @@ export default {
|
||||
},
|
||||
detailType: 1,
|
||||
dialogVisible: false,
|
||||
qrcodeShow: false,
|
||||
currentPage4: 4,
|
||||
inviteTeacher: {
|
||||
//邀请
|
||||
dlgShow: false,
|
||||
params: { name: '' },
|
||||
list: []
|
||||
},
|
||||
manageStudy: {
|
||||
dlgShow: false
|
||||
},
|
||||
params: {},
|
||||
pageData:[],
|
||||
courseChooseShow: false,
|
||||
courseChooseId: '',
|
||||
weike: {
|
||||
onlyRequired: false,
|
||||
dlgShow: false,
|
||||
fileType: '',
|
||||
info: {
|
||||
shebei: ''
|
||||
}
|
||||
},
|
||||
biaoke: {
|
||||
dlgShow: false
|
||||
},
|
||||
recommend: {
|
||||
dlgShow: false,
|
||||
},
|
||||
catalogs: {
|
||||
addNewZhang: false,
|
||||
addNewCell: false,
|
||||
}
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
@@ -359,7 +290,7 @@ export default {
|
||||
this.params.sysType3 = this.sysTypeList[2];
|
||||
try {
|
||||
this.loading = true;
|
||||
const {result, status,message} = await apiCourse.teacherAuditList(this.params);
|
||||
const {result, status,message} = await apiCourseAudit.teacherAuditList(this.params);
|
||||
if(status === 200) {
|
||||
|
||||
this.pageData = result.list;
|
||||
@@ -379,9 +310,6 @@ export default {
|
||||
this.examin.examineName = row.name;
|
||||
this.showDetails = true;
|
||||
},
|
||||
editCurriculum(row) {
|
||||
this.editData = row;
|
||||
},
|
||||
jumpDetails() {
|
||||
// 跳转打开新页面
|
||||
let routeData = this.$router.resolve({ path: '/course/detail'});
|
||||
@@ -406,9 +334,6 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
enSure() {
|
||||
// 确认事件
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.page.pageSize = val;
|
||||
this.page.pageIndex = 1;
|
||||
@@ -417,128 +342,6 @@ export default {
|
||||
handleCurrentChange(val) {
|
||||
this.page.pageIndex = val;
|
||||
this.searchData();
|
||||
},
|
||||
chooseInvite(row) {
|
||||
//邀请老师审核
|
||||
this.inviteTeacher.dlgShow = true;
|
||||
},
|
||||
findTeachers() {
|
||||
this.inviteTeacher.list = [];
|
||||
},
|
||||
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) {
|
||||
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;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -34,13 +34,13 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="审核状态" prop="status" width="120px">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.status == 2">不通过</span>
|
||||
<span v-if="scope.row.status == 9">通过</span>
|
||||
<span v-if="scope.row.toState == 2">不通过</span>
|
||||
<span v-if="scope.row.toState == 9">通过</span>
|
||||
</template>
|
||||
</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="审核时间" prop="toAuditTime" width="200px" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="审核说明" prop="toRemark" width="200px" show-overflow-tooltip></el-table-column>
|
||||
|
||||
<el-table-column label="操作" width="100px" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
@@ -63,27 +63,51 @@
|
||||
<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="auditRecords" style="width: 100%;">
|
||||
<el-table-column prop="auditUser" label="审核人" width="180"></el-table-column>
|
||||
<el-table-column prop="type" label="审核状态">
|
||||
<el-table max-height="500" border :data="auditRecords" stripe style="width: 100%;">
|
||||
<el-table-column prop="auditUser" label="HRBP审核" width="170">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.status==9">通过</span>
|
||||
<span v-if="scope.row.status==2">不通过</span>
|
||||
<div>
|
||||
<span>{{scope.row.auditUser}} 审核 </span>
|
||||
<span v-if="scope.row.status==9" style="color: green;">通过</span>
|
||||
<span v-if="scope.row.status==2" style="color: red;">不通过</span>
|
||||
</div>
|
||||
<div>{{scope.row.auditTime}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="auditTime" label="审核时间"></el-table-column>
|
||||
<el-table-column prop="auditRemark" label="备注"></el-table-column>
|
||||
<el-table-column prop="auditRemark" label="HRBP备注"></el-table-column>
|
||||
<el-table-column prop="type" label="转审" width="170">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.toAid">
|
||||
<span>{{scope.row.toName}} 审核 </span>
|
||||
<span v-if="scope.row.toState==9" style="color: green;">通过</span>
|
||||
<span v-if="scope.row.toState==2" style="color: red;">不通过</span>
|
||||
</div>
|
||||
<div>{{scope.row.toAuditTime}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="toRemark" label="转审备注"></el-table-column>
|
||||
<el-table-column prop="auditTime" label="公开课审核" width="170">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.lastAid">
|
||||
<span>{{scope.row.lastAname}} 审核 </span>
|
||||
<span v-if="scope.row.lastState==9" style="color: green;">通过</span>
|
||||
<span v-if="scope.row.lastState==2" style="color: red;">不通过</span>
|
||||
</div>
|
||||
<div>{{scope.row.lastTime}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="lastRemark" label="公开课审备注"></el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button @click="dialogVisible = false">关 闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<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>
|
||||
<el-button @click="showDetails = false;examin = {};">关 闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -180,8 +204,9 @@ export default {
|
||||
return this.sysTypeMap.get(code);
|
||||
},
|
||||
async searchData() {
|
||||
this.params.status = 9;
|
||||
this.params.toState = 9;
|
||||
this.params.forward=2;//未转发的处理
|
||||
this.params.userType=1;//教师
|
||||
this.params.toAid=this.userInfo.aid;
|
||||
this.params.pageIndex = this.page.pageIndex;
|
||||
this.params.pageSize = this.page.pageSize;
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
<el-table-column label="转审" width="130px">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.auditForward == 2">已转审</el-tag>
|
||||
<el-tag @click="showAuditInfo(scope.row)" title="点击查看审核信息" style="cursor: pointer;" type="success" v-if="scope.row.auditForward == 3">转审完成</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建人" prop="sysCreateBy"></el-table-column>
|
||||
@@ -183,6 +184,22 @@
|
||||
<el-button @click="showDetails = false;examin = {};">取 消</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog title="审核信息" :visible.sync="dlgAudit.show" @close="dlgAudit.show=false;dlgAudit.data = {};" width="500px" custom-class="g-dialog">
|
||||
<div>
|
||||
<el-form label-width="100px" @submit.native.prevent >
|
||||
<el-form-item label="审核人">{{dlgAudit.data.toName}}</el-form-item>
|
||||
<el-form-item label="审核结果">
|
||||
<el-tag type="danger" v-if="dlgAudit.data.toState == 2">不通过</el-tag>
|
||||
<el-tag type="success" v-if="dlgAudit.data.toState == 9">通过</el-tag>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核备注">{{dlgAudit.data.toRemark}}</el-form-item>
|
||||
<el-form-item label="审核时间">{{dlgAudit.data.toTime}}</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dlgAudit.show=false;dlgAudit.data = {};">关 闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--邀请审核-->
|
||||
<el-dialog title="请选择教师" :visible.sync="teacherInfo.show" :close-on-click-modal="false" :append-to-body="true" width="500px" custom-class="g-dialog">
|
||||
<div style="height: 200px;padding-right: 30px;">
|
||||
@@ -218,7 +235,6 @@ 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';
|
||||
import apiCourse from '../../api/modules/course.js';
|
||||
import apiCourseAudit from '../../api/modules/courseAudit.js';
|
||||
import apiUser from '@/api/system/user.js'
|
||||
@@ -232,6 +248,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
btnLoading:false,
|
||||
params: {},
|
||||
selectedTeacher:'',
|
||||
teacherInfo:{
|
||||
show:false,
|
||||
@@ -255,13 +272,8 @@ export default {
|
||||
auditId:'',
|
||||
examineName: '',
|
||||
},
|
||||
paperJson:{items:[]},
|
||||
courseType: courseType,
|
||||
page: {
|
||||
pageIndex: 1,//第几页
|
||||
pageSize: 10, // 每页多少条
|
||||
count: 0
|
||||
},
|
||||
pageData:[],
|
||||
page: { pageIndex: 1,pageSize: 10, count: 0},
|
||||
resOwner: [],
|
||||
defaultProps:{
|
||||
value: 'code',
|
||||
@@ -271,48 +283,14 @@ export default {
|
||||
value: 'id',
|
||||
label: 'name',
|
||||
},
|
||||
manageStudyData: {},
|
||||
expandDetails: false,
|
||||
qrcode: '',
|
||||
isExamine: 1,
|
||||
auditInfo: {
|
||||
pass: true,
|
||||
remark: ''
|
||||
},
|
||||
auditInfo: { pass: true, remark: '' },
|
||||
detailType: 1,
|
||||
dialogVisible: false,
|
||||
qrcodeShow: false,
|
||||
currentPage4: 4,
|
||||
inviteTeacher: {
|
||||
//邀请
|
||||
dlgShow: false,
|
||||
params: { name: '' },
|
||||
list: []
|
||||
},
|
||||
manageStudy: {
|
||||
dlgShow: false
|
||||
},
|
||||
params: {},
|
||||
pageData:[],
|
||||
courseChooseShow: false,
|
||||
courseChooseId: '',
|
||||
weike: {
|
||||
onlyRequired: false,
|
||||
dlgShow: false,
|
||||
fileType: '',
|
||||
info: {
|
||||
shebei: ''
|
||||
}
|
||||
},
|
||||
biaoke: {
|
||||
dlgShow: false
|
||||
},
|
||||
recommend: {
|
||||
dlgShow: false,
|
||||
},
|
||||
catalogs: {
|
||||
addNewZhang: false,
|
||||
addNewCell: false,
|
||||
dlgAudit:{
|
||||
show:false,
|
||||
data:{id:'',toName:'',toRemark:'',toTime:'',toState:0}
|
||||
}
|
||||
};
|
||||
},
|
||||
@@ -439,6 +417,16 @@ export default {
|
||||
window.open(`${this.webBaseUrl}/course/rePreview?id=${row.id}`);
|
||||
// }
|
||||
|
||||
},
|
||||
showAuditInfo(row){ //显示审核信息
|
||||
apiCourseAudit.getAuditInfo(row.auditId).then(rs=>{
|
||||
if(rs.status==200){
|
||||
this.dlgAudit.data=rs.result;
|
||||
this.dlgAudit.show=true;
|
||||
}else{
|
||||
this.$message.error(rs.message);
|
||||
}
|
||||
})
|
||||
},
|
||||
//直接审核
|
||||
examineData(flag) {
|
||||
@@ -477,7 +465,7 @@ export default {
|
||||
this.params.sysType2 = this.sysTypeList[1];
|
||||
this.params.sysType3 = this.sysTypeList[2];
|
||||
try {
|
||||
const {result, status,message} = await apiCourse.auditList(this.params);
|
||||
const {result, status,message} = await apiCourseAudit.hrbpAuditList(this.params);
|
||||
if(status === 200) {
|
||||
this.pageData = result.list;
|
||||
this.page.count = result.count;
|
||||
@@ -494,9 +482,6 @@ export default {
|
||||
this.examin.examineName = row.name;
|
||||
this.showDetails = true;
|
||||
},
|
||||
editCurriculum(row) {
|
||||
this.editData = row;
|
||||
},
|
||||
jumpDetails() {
|
||||
// 跳转打开新页面
|
||||
let routeData = this.$router.resolve({ path: '/course/detail'});
|
||||
@@ -523,109 +508,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 }
|
||||
// ];
|
||||
// },
|
||||
// 关闭弹框,清除已经生成的二维码
|
||||
closeCode() {
|
||||
this.$refs.qrcode.innerHTML = '';
|
||||
},
|
||||
showManageStudy(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;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<div class="u-page">
|
||||
<div style="padding: 2px 0px 10px 0px;">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="4">
|
||||
<el-col :span="6">
|
||||
<el-cascader placeholder="内容分类" clearable v-model="sysTypeList" :props="defaultTypeProps" :options="sysTypeListMap"></el-cascader>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
@@ -70,29 +70,53 @@
|
||||
></el-pagination>
|
||||
</div>
|
||||
<div style="height: 100px;"></div>
|
||||
<el-dialog title="审核记录" :visible.sync="dialogVisible" width="900px" custom-class="g-dialog">
|
||||
<el-dialog title="审核记录" :visible.sync="dialogVisible" width="950px" custom-class="g-dialog">
|
||||
<div>
|
||||
<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="审核状态">
|
||||
<el-table max-height="500" border :data="auditRecords" stripe style="width: 100%;">
|
||||
<el-table-column prop="auditUser" label="HRBP审核" width="170">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.status==9">通过</span>
|
||||
<span v-if="scope.row.status==2">不通过</span>
|
||||
<div>
|
||||
<span>{{scope.row.auditUser}} 审核 </span>
|
||||
<span v-if="scope.row.status==9" style="color: green;">通过</span>
|
||||
<span v-if="scope.row.status==2" style="color: red;">不通过</span>
|
||||
</div>
|
||||
<div>{{scope.row.auditTime}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="auditTime" label="审核时间"></el-table-column>
|
||||
<el-table-column prop="auditRemark" label="备注"></el-table-column>
|
||||
<el-table-column prop="auditRemark" label="HRBP备注"></el-table-column>
|
||||
<el-table-column prop="type" label="转审" width="170">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.toAid">
|
||||
<span>{{scope.row.toName}} 审核 </span>
|
||||
<span v-if="scope.row.toState==9" style="color: green;">通过</span>
|
||||
<span v-if="scope.row.toState==2" style="color: red;">不通过</span>
|
||||
</div>
|
||||
<div>{{scope.row.toAuditTime}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="toRemark" label="转审备注"></el-table-column>
|
||||
<el-table-column prop="auditTime" label="公开课审核" width="170">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.lastAid">
|
||||
<span>{{scope.row.lastAname}} 审核 </span>
|
||||
<span v-if="scope.row.lastState==9" style="color: green;">通过</span>
|
||||
<span v-if="scope.row.lastState==2" style="color: red;">不通过</span>
|
||||
</div>
|
||||
<div>{{scope.row.lastTime}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="lastRemark" label="公开课审备注"></el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button @click="dialogVisible = false">关 闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<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>
|
||||
<el-button @click="showDetails = false;examin = {};">关 闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -190,8 +214,8 @@ export default {
|
||||
},
|
||||
async searchData() {
|
||||
this.params.status = 9;
|
||||
this.params.forward=1;//未转发的处理
|
||||
this.params.aid=this.userInfo.aid;
|
||||
this.params.userType=2;//这里指hrbp管理查询
|
||||
this.params.pageIndex = this.page.pageIndex;
|
||||
this.params.pageSize = this.page.pageSize;
|
||||
this.params.courseType1 = this.sysTypeList[0];
|
||||
|
||||
Reference in New Issue
Block a user