提交 1499b554 编写于 作者: guangjun.yang's avatar guangjun.yang

验证样式问题

上级 6ee87812
...@@ -18,11 +18,12 @@ ...@@ -18,11 +18,12 @@
<el-form <el-form
ref="formDataRef" ref="formDataRef"
:model="formData" :model="formData"
:rules="rules"
label-width="120px" label-width="120px"
class="basic-form" class="basic-form"
> >
<el-form-item label="课程名称:" prop="courseName" class="valid-msg"> <div class="basic-item-icon">
<span class="require">*</span>
<el-form-item label="课程名称:" class="valid-msg">
<el-col :span="20"> <el-col :span="20">
<el-input <el-input
size="small" size="small"
...@@ -35,13 +36,19 @@ ...@@ -35,13 +36,19 @@
<span class="word-num"> <span class="word-num">
{{(formData.courseName || '').replace(/\s+/g,"").length}}/25 {{(formData.courseName || '').replace(/\s+/g,"").length}}/25
</span> </span>
<div v-show="needShowAuditMsg && formData.courseNameCheck" class="error"> <div v-show="!needShowAuditMsg && noCouseName" class="error" style="maring-top:2px">
<span>请输入课程名称</span>
</div>
<div v-show="needShowAuditMsg && formData.courseNameCheck" class="error" style="maring-top:2px">
<span>{{formData.courseNameCheck}}</span> <span>{{formData.courseNameCheck}}</span>
</div> </div>
</el-col> </el-col>
</el-form-item> </el-form-item>
</div>
<el-form-item label="学科分类:" prop="subjectIdList" class="valid-msg"> <div class="basic-item-icon">
<span class="require">*</span>
<el-form-item label="学科分类:" class="valid-msg">
<el-col :span="18"> <el-col :span="18">
<!-- :props="{ expandTrigger: 'hover' }" --> <!-- :props="{ expandTrigger: 'hover' }" -->
<el-cascader <el-cascader
...@@ -51,14 +58,20 @@ ...@@ -51,14 +58,20 @@
:props="{ value: 'id', label: 'name', children: 'subList'}" :props="{ value: 'id', label: 'name', children: 'subList'}"
> >
</el-cascader> </el-cascader>
<div v-show="!needShowAuditMsg && noLabel" class="error" style="margin-top:4px;">
<span>请选择学科分类</span>
</div>
</el-col> </el-col>
</el-form-item> </el-form-item>
</div>
<el-form-item label="开放范围:" prop="shareType"> <div class="basic-item-icon">
<span class="require">*</span>
<el-form-item label="开放范围:">
<el-radio-group v-model="formData.shareType"> <el-radio-group v-model="formData.shareType">
<el-radio :label="1">机构共享</el-radio> <el-radio :label="1">机构共享</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</div>
<div class="basic-item-icon"> <div class="basic-item-icon">
<span class="require">*</span> <span class="require">*</span>
...@@ -78,7 +91,7 @@ ...@@ -78,7 +91,7 @@
<ul v-show="formData.courseCustomChapterModels[0].courseCustomLectureModelList.length" class="custom-list"> <ul v-show="formData.courseCustomChapterModels[0].courseCustomLectureModelList.length" class="custom-list">
<li v-for="(lecture, index) in formData.courseCustomChapterModels[0].courseCustomLectureModelList" :key="index" class="valid-msg"> <li v-for="(lecture, index) in formData.courseCustomChapterModels[0].courseCustomLectureModelList" :key="index" class="valid-msg">
<ul class="video"> <ul class="video">
<li> <li style="height: 46px;line-height:48px;">
<span class="title">视频{{index + 1}}</span> <span class="title">视频{{index + 1}}</span>
<img src="../../../assets/image/phrase3/icon-pin.png" /> <img src="../../../assets/image/phrase3/icon-pin.png" />
<span class="name" @click="previewVideoAction(lecture)">{{lecture.resourceModel.name}}</span> <span class="name" @click="previewVideoAction(lecture)">{{lecture.resourceModel.name}}</span>
...@@ -86,6 +99,9 @@ ...@@ -86,6 +99,9 @@
<li> <li>
<img @click="deleteLecture(index)" class="delete" src="../../../assets/image/phrase3/close.png" /> <img @click="deleteLecture(index)" class="delete" src="../../../assets/image/phrase3/close.png" />
</li> </li>
<div style="color:red;;position:absolute;top:22px;" v-show="needShowAuditMsg && formData.courseCustomChapterModels[0].courseCustomLectureModelList[index].contentCheck" class="error-video">
<span>{{formData.courseCustomChapterModels[0].courseCustomLectureModelList[index].contentCheck}}</span>
</div>
</ul> </ul>
<div class="video-name"> <div class="video-name">
<span class="title"> <span class="title">
...@@ -104,8 +120,8 @@ ...@@ -104,8 +120,8 @@
{{(lecture.name || '').replace(/\s+/g,"").length}}/25 {{(lecture.name || '').replace(/\s+/g,"").length}}/25
</span> </span>
</div> </div>
<div v-show="needShowAuditMsg && !formData.courseCustomChapterModels[0].courseCustomLectureModelList[index].nameCheck" class="error-video"> <div v-show="needShowAuditMsg && formData.courseCustomChapterModels[0].courseCustomLectureModelList[index].nameCheck" class="error-video">
<span>11{{formData.courseCustomChapterModels[0].courseCustomLectureModelList[index].nameCheck}}</span> <span>{{formData.courseCustomChapterModels[0].courseCustomLectureModelList[index].nameCheck}}</span>
</div> </div>
</li> </li>
<span v-show="needShowUploadProcess" class="upload-process" :style="{'width': (uploadProgress/100 * 340) + 'px'}"></span> <span v-show="needShowUploadProcess" class="upload-process" :style="{'width': (uploadProgress/100 * 340) + 'px'}"></span>
...@@ -146,8 +162,14 @@ ...@@ -146,8 +162,14 @@
</div> </div>
</el-upload> </el-upload>
<div class="limit-text">尺寸:750*420,只支持jpeg格式</div> <div class="limit-text">尺寸:750*420,只支持jpeg格式</div>
<!-- <div style="color:red;position:absolute;top:104px;" class="error">
课程难度课程难度
</div> -->
<div style="color:red;position:absolute;top:102px;" v-show="needShowAuditMsg && formData.courseCustomDoctorModels[0].courseDoctorAvatarUrlCheck" class="error">
<span>{{formData.courseCustomDoctorModels[0].courseDoctorAvatarUrlCheck}}</span>
</div>
</el-form-item> </el-form-item>
<p class="upload-message" v-if="uploadImgMessage">请选择列表图片</p> <!-- <p class="upload-message" v-if="uploadImgMessage">请选择列表图片</p> -->
</div> </div>
<el-form-item label="课程难度:"> <el-form-item label="课程难度:">
...@@ -183,6 +205,10 @@ ...@@ -183,6 +205,10 @@
<span <span
class="word-num" class="word-num"
>{{(formData.courseCustomDoctorModels[0] && formData.courseCustomDoctorModels[0].courseDoctorName || '').replace(/\s+/g,"").length}}/25</span> >{{(formData.courseCustomDoctorModels[0] && formData.courseCustomDoctorModels[0].courseDoctorName || '').replace(/\s+/g,"").length}}/25</span>
<div v-show="needShowAuditMsg && formData.courseCustomDoctorModels[0].courseDoctorHospitalCheck" class="error">
<span>{{formData.courseCustomDoctorModels[0].courseDoctorHospitalCheck}}</span>
<span v-show="formData.checkStatus == 0" class="cancle" @click="cancleAudit(formData.courseCustomDoctorModels[0], 'courseDoctorHospitalCheck')">X</span>
</div>
</el-col> </el-col>
</el-form-item> </el-form-item>
...@@ -211,9 +237,16 @@ ...@@ -211,9 +237,16 @@
/> />
</div> </div>
</el-upload> </el-upload>
<div class="limit-text">尺寸:88*88,只支持jpeg格式</div> <div class="limit-text" style="top: 76px;">尺寸:88*88,只支持jpeg格式</div>
<!-- <div class="error" style="position:absolute;top: 94px;">
所属机构所属机构:所属机构:
</div> -->
<div v-show="needShowAuditMsg && formData.courseCustomDoctorModels[0].courseDoctorAvatarUrlCheck" class="error" style="position:absolute;top: 102px;">
<span>{{formData.courseCustomDoctorModels[0].courseDoctorAvatarUrlCheck}}</span>
<span v-show="formData.checkStatus == 0" class="cancle" @click="cancleAudit(formData.courseCustomDoctorModels[0], 'courseDoctorAvatarUrlCheck')">X</span>
</div>
</el-form-item> </el-form-item>
<p class="upload-message" v-if="uploadImgMessage">请选择列表图片</p> <!-- <p class="upload-message" v-if="uploadImgMessage">请选择列表图片</p> -->
</div> </div>
<el-form-item label="所属机构:"> <el-form-item label="所属机构:">
<el-col :span="18"> <el-col :span="18">
...@@ -228,6 +261,12 @@ ...@@ -228,6 +261,12 @@
<span <span
class="word-num" class="word-num"
>{{(formData.courseCustomDoctorModels && formData.courseCustomDoctorModels[0].courseDoctorHospital || '').replace(/\s+/g,"").length}}/25</span> >{{(formData.courseCustomDoctorModels && formData.courseCustomDoctorModels[0].courseDoctorHospital || '').replace(/\s+/g,"").length}}/25</span>
<!-- <div class="error">
所属机构所属机构:所属机构:
</div> -->
<div v-show="needShowAuditMsg && formData.courseCustomDoctorModels[0].courseDoctorHospitalCheck" class="error">
<span>{{formData.courseCustomDoctorModels[0].courseDoctorHospitalCheck}}</span>
</div>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="课程简介:"> <el-form-item label="课程简介:">
...@@ -244,6 +283,12 @@ ...@@ -244,6 +283,12 @@
<span <span
class="word-num" class="word-num"
>{{(formData.courseIntro || '').replace(/\s+/g,"").length}}/200</span> >{{(formData.courseIntro || '').replace(/\s+/g,"").length}}/200</span>
<!-- <div class="error-area">
所属机构所属机构:所属机构:
</div> -->
<div v-show="needShowAuditMsg && formData.courseIntroCheck" class="error-area">
<span>{{formData.courseIntroCheck}}</span>
</div>
</el-col> </el-col>
</el-form-item> </el-form-item>
</div> </div>
...@@ -306,7 +351,7 @@ export default { ...@@ -306,7 +351,7 @@ export default {
}, },
step: 1, step: 1,
needCheckField: false, needCheckField: false,
needShowAuditMsg: true, needShowAuditMsg: false, // TODO
needShowUploadProcess: false, needShowUploadProcess: false,
disabled: false, disabled: false,
formDataBase: { formDataBase: {
...@@ -373,20 +418,20 @@ export default { ...@@ -373,20 +418,20 @@ export default {
shareType: 1, shareType: 1,
subjectIdList: [] subjectIdList: []
}, },
uploadImgMessage: false, // uploadImgMessage: false,
imgMouseOver: false, imgMouseOver: false,
rules: { // rules: {
courseName: [ // courseName: [
{ required: true, message: " " }, // { required: true, message: " " },
{ validator: checkCourseName } // { validator: checkCourseName }
], // ],
subjectIdList: [ // subjectIdList: [
{ required: true, message: "请输入课程名称" } // { required: true, message: "请输入课程名称" }
], // ],
shareType: [ // shareType: [
{ required: true, message: "请选择开放范围" } // { required: true, message: "请选择开放范围" }
] // ]
}, // },
labelOptions: [], labelOptions: [],
isShowOtherContent: false, isShowOtherContent: false,
fileList: [ fileList: [
...@@ -436,7 +481,9 @@ export default { ...@@ -436,7 +481,9 @@ export default {
confirmMsg: "取 消", confirmMsg: "取 消",
hideMsg: "确 定" hideMsg: "确 定"
}, },
noLecture: false, noLecture: true, // 没有上传视频
noCouseName: true, // 没有课程名称
noLabel: true, // 没有选择分类
}; };
}, },
props: { props: {
...@@ -460,6 +507,9 @@ export default { ...@@ -460,6 +507,9 @@ export default {
this.initModify(this.courseId); this.initModify(this.courseId);
} }
} }
this.noLecture = false;
this.noCouseName = false;
this.noLabel = false;
}, },
}, },
components: { components: {
...@@ -689,28 +739,27 @@ export default { ...@@ -689,28 +739,27 @@ export default {
this.$message.warning(`当前限制选择 100 个文件,您已经共选择了 ${files.length + fileList.length} 个文件!`); this.$message.warning(`当前限制选择 100 个文件,您已经共选择了 ${files.length + fileList.length} 个文件!`);
}, },
// 删除按钮
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
// 表单校验 // 表单校验
// TODO // TODO
submitForm(formName) { submitForm(formName) {
this.needShowAuditMsg = false; this.needShowAuditMsg = false;
this.noCouseName = false;
this.noLecture = false;
this.noLabel = false;
let hasLecture = this.formData.courseCustomChapterModels[0].courseCustomLectureModelList.length > 0; let hasLecture = this.formData.courseCustomChapterModels[0].courseCustomLectureModelList.length > 0;
if(!hasLecture) { if(!hasLecture) {
this.noLecture = true; this.noLecture = true;
}
if(!this.formData.courseName) {
this.noCouseName = true;
}
if(!this.formData.subjectIdList.length) {
this.noLabel = true;
}
if(this.noCouseName || this.noLabel || this.noLecture) {
return; return;
} }
this.$refs[formName].validate(valid => {
if (valid) {
this.insertOrUpdate(); this.insertOrUpdate();
} else {
console.log("error submit!!");
}
this.needShowAuditMsg = true;
});
}, },
// 添加或修改课程(kind = 3) // 添加或修改课程(kind = 3)
...@@ -718,12 +767,6 @@ export default { ...@@ -718,12 +767,6 @@ export default {
this.POST("contents/course/custom/info/insertOrUpdate", this.formData).then(res => { this.POST("contents/course/custom/info/insertOrUpdate", this.formData).then(res => {
if (res.code == "000000") { if (res.code == "000000") {
this.step = 2; this.step = 2;
// if(this.courseId == '0') {
// this.step = 2;
// } else {
// this.close();
// this.setKind(3);
// }
} }
}); });
}, },
...@@ -882,6 +925,7 @@ export default { ...@@ -882,6 +925,7 @@ export default {
border-radius: 3px; border-radius: 3px;
border: 1px solid rgba(228,231,237,1); border: 1px solid rgba(228,231,237,1);
padding: 20px; padding: 20px;
padding-top: 5px;
font-size: 14px; font-size: 14px;
& > li { & > li {
margin: 10px 0; margin: 10px 0;
...@@ -907,7 +951,7 @@ export default { ...@@ -907,7 +951,7 @@ export default {
} }
.delete { .delete {
position: relative; position: relative;
top: 4px; top: 2px;
cursor: pointer; cursor: pointer;
width: 16px; width: 16px;
height: 16px; height: 16px;
...@@ -1007,6 +1051,29 @@ export default { ...@@ -1007,6 +1051,29 @@ export default {
width: 20px; width: 20px;
} }
} }
.error-area {
position: absolute;
bottom: -32px;
font-size: 13px;
color: #ed3131;
.cancle {
width: 20px;
margin-left: 20px;
cursor: pointer;
}
}
.error-video {
position: absolute;
top: 76px;
left: 82px;
font-size: 13px;
color: #ed3131;
.cancle {
width: 20px;
margin-left: 20px;
cursor: pointer;
}
}
.edit-wrapper { .edit-wrapper {
color: #449284; color: #449284;
.edit-img { .edit-img {
......
...@@ -10,10 +10,10 @@ ...@@ -10,10 +10,10 @@
<el-form-item label="拒绝原因:"> <el-form-item label="拒绝原因:">
<el-radio-group v-model="auditForm.label"> <el-radio-group v-model="auditForm.label">
<div style="padding-top: 12px;"> <div style="padding-top: 12px;">
<el-radio label="含有政治类、医疗健康、社会事件类不实信息"></el-radio> <el-radio :label="refuseReasonList[0]"></el-radio>
</div> </div>
<div style="padding-top: 16px;"> <div style="padding-top: 16px;">
<el-radio label="含有欺诈,色情,诱导、违法犯罪非法字符"></el-radio> <el-radio :label="refuseReasonList[1]"></el-radio>
</div> </div>
<div style="padding-top: 16px;"> <div style="padding-top: 16px;">
<el-radio label="其他"></el-radio> <el-radio label="其他"></el-radio>
...@@ -49,7 +49,7 @@ export default { ...@@ -49,7 +49,7 @@ export default {
}, },
refuseReasonList: { refuseReasonList: {
type: Array, type: Array,
default: () => [] default: () => ['含有政治类、医疗健康、社会事件类不实信息', '含有欺诈,色情,诱导、违法犯罪非法字符']
} }
}, },
watch: { watch: {
......
...@@ -314,6 +314,7 @@ export default { ...@@ -314,6 +314,7 @@ export default {
} }
.subject-level { .subject-level {
min-width: 1300px;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
box-sizing: content-box; box-sizing: content-box;
......
...@@ -313,6 +313,7 @@ export default { ...@@ -313,6 +313,7 @@ export default {
} }
.subject-level { .subject-level {
min-width: 1300px;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
box-sizing: content-box; box-sizing: content-box;
......
...@@ -45,7 +45,8 @@ export default { ...@@ -45,7 +45,8 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.select-course-wrapper { .select-course-wrapper {
min-width: 1125px; // min-width: 1125px;
min-width: 1300px;
.top-line { .top-line {
// width: 120%; // width: 120%;
height: 10px; height: 10px;
......
...@@ -54,7 +54,7 @@ service.interceptors.request.use(config => { ...@@ -54,7 +54,7 @@ service.interceptors.request.use(config => {
} }
if( process.env.BUILD_ENV == "development" ){ // 本地开发环境 if( process.env.BUILD_ENV == "development" ){ // 本地开发环境
// console.log('环境变量>>>> ', process.env.BUILD_ENV); // console.log('环境变量>>>> ', process.env.BUILD_ENV);
config.headers['token'] = '6A493EF79293439BB7A85218C98CD543'; config.headers['token'] = '81F7390EB4A84A1FAEB57386229F7733';
// config.headers['token'] = localStorage.getItem('storageToken') // config.headers['token'] = localStorage.getItem('storageToken')
}else{ }else{
config.headers['token'] = localStorage.getItem('storageToken') config.headers['token'] = localStorage.getItem('storageToken')
......
...@@ -413,7 +413,6 @@ export default { ...@@ -413,7 +413,6 @@ export default {
refuse: { refuse: {
title: "", title: "",
message: "您已添加过「拒绝原因」,不能通过该课程", message: "您已添加过「拒绝原因」,不能通过该课程",
// message: "确定“云小鹊”提交的「高血压治疗规范」课程已完成检测并通过审核?",
tip: "", tip: "",
confirmMsg: "我知道了", confirmMsg: "我知道了",
hideMsg: "" hideMsg: ""
...@@ -421,15 +420,13 @@ export default { ...@@ -421,15 +420,13 @@ export default {
refuseReasen: { refuseReasen: {
title: "", title: "",
message: "请填写拒绝原因", message: "请填写拒绝原因",
// message: "确定“云小鹊”提交的「高血压治疗规范」课程已完成检测并通过审核?",
tip: "", tip: "",
confirmMsg: "取 消", confirmMsg: "我知道了",
hideMsg: "确 定" hideMsg: ""
}, },
confirmRefuse: { confirmRefuse: {
title: "确认拒绝", title: "确认拒绝",
message: "确定“云小鹊”提交的「高血压治疗规范」课程审核为拒绝", message: "确定课程审核为拒绝",
// message: "确定“云小鹊”提交的「高血压治疗规范」课程已完成检测并通过审核?",
tip: "", tip: "",
confirmMsg: "取 消", confirmMsg: "取 消",
hideMsg: "确 定" hideMsg: "确 定"
...@@ -463,6 +460,7 @@ export default { ...@@ -463,6 +460,7 @@ export default {
}, },
methods: { methods: {
// 获取OSS域名,用于显示图片
getOSSDomain(url) { getOSSDomain(url) {
return getOSSImgUrl(url); return getOSSImgUrl(url);
}, },
...@@ -632,6 +630,7 @@ export default { ...@@ -632,6 +630,7 @@ export default {
vm.statusObj.refuse vm.statusObj.refuse
); );
} else { } else {
vm.statusObj.pass.message = `确定“${this.createdDoctorName}”提交的「${this.formData.courseName}」课程已完成检测并通过审核`,
vm.dialogObj = Object.assign( vm.dialogObj = Object.assign(
vm.dialogObj, vm.dialogObj,
vm.statusObj.pass vm.statusObj.pass
......
...@@ -204,10 +204,14 @@ export default { ...@@ -204,10 +204,14 @@ export default {
searchParamOrg: { searchParamOrg: {
handler(val) { handler(val) {
console.log('searchParamOrg', val, this.isFirst); console.log('searchParamOrg', val, this.isFirst);
// if(!this.isFirst) { // 第一次不执行
this.isFirst = false if(!this.isFirst) {
this.getCourseList(val); this.getCourseList(val);
// } }
// 也只执行一次
if(this.isFirst) {
this.isFirst = false;
}
}, },
deep: true deep: true
}, },
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册