提交 2818f4ea 编写于 作者: huangwensu's avatar huangwensu

图片添加删除

上级 8594e71d
...@@ -99,6 +99,8 @@ export default { ...@@ -99,6 +99,8 @@ export default {
vm.userName = res.data.name vm.userName = res.data.name
vm.portrait = res.data.imageUrl vm.portrait = res.data.imageUrl
vm.authList = res.data.auth vm.authList = res.data.auth
} else {
vm.$message.info(res.message)
} }
}) })
} }
......
...@@ -32,30 +32,38 @@ ...@@ -32,30 +32,38 @@
<el-input type="textarea" rows="4" cols="10" v-model="portalComponent.introduce" size="mini" placeholder="请输入组件简介" style="width:37%;"></el-input> <el-input type="textarea" rows="4" cols="10" v-model="portalComponent.introduce" size="mini" placeholder="请输入组件简介" style="width:37%;"></el-input>
<span class="word-num">{{(portalComponent.introduce).replace(/\s+/g,"").length}}/150</span> <span class="word-num">{{(portalComponent.introduce).replace(/\s+/g,"").length}}/150</span>
</el-form-item> </el-form-item>
<el-form-item label="组件图片" prop="imageUrl"> <div class="basic-item-icon">
<el-upload <span class="require">*</span>
v-model="portalComponent.imageUrl" <el-form-item label="组件图片" prop="imageUrl">
class="bg-uploader" <el-upload
action="#" v-model="portalComponent.imageUrl"
:show-file-list="false" class="bg-uploader"
:before-upload="beforeAvatarUpload"> action="#"
<img v-if="portalComponent.imageUrl" :src="portalComponent.imageUrl" class="bg-img"> :show-file-list="false"
<img v-if="!portalComponent.imageUrl" class="bg-img" src="../../assets/image/small.png"> :before-upload="beforeAvatarUpload">
<div class="limit-text"> <img v-if="portalComponent.imageUrl" @mouseover.stop="imgMouseOver=true" :src="portalComponent.imageUrl" class="bg-img">
<p>尺寸大小:750*420</p> <img v-if="!portalComponent.imageUrl" class="bg-img" src="../../assets/image/small.png">
<p>限制大小: 2.0 Mb</p> <div class="img-delete" v-show="imgMouseOver" @click.stop="deleteImg" @mouseout.stop="imgMouseOver=false"><i class="el-icon-delete"></i></div>
<p>支持.jpg,.png格式</p> <div class="limit-text">
</div> <p>尺寸大小:750*420</p>
</el-upload> <p>限制大小: 2.0 Mb</p>
</el-form-item> <p>支持.jpg,.png格式</p>
</div>
</el-upload>
</el-form-item>
<p class="upload-message" v-if="uploadImgMessage">请上传组件图片</p>
</div>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="配置证书"> <div class="basic-item-icon">
<el-radio-group v-model="certificateLable" @change="selectCertificate"> <span class="require">*</span>
<el-radio label="是"></el-radio> <el-form-item label="配置证书">
<el-radio label="否"></el-radio> <el-radio-group v-model="certificateLable" @change="selectCertificate">
</el-radio-group> <el-radio label="是"></el-radio>
</el-form-item> <el-radio label="否"></el-radio>
</el-radio-group>
</el-form-item>
</div>
</el-col> </el-col>
<el-col :span="10" v-if="hasCertificate"> <el-col :span="10" v-if="hasCertificate">
<el-form-item label="选择证书" prop="certificateId"> <el-form-item label="选择证书" prop="certificateId">
...@@ -173,7 +181,7 @@ ...@@ -173,7 +181,7 @@
<el-col :span="10" v-if="item3.certificateFlag == 2" class="item-icon"> <el-col :span="10" v-if="item3.certificateFlag == 2" class="item-icon">
<span class="require">*</span> <span class="require">*</span>
<el-form-item label="选择证书"> <el-form-item label="选择证书">
<el-select v-model="item3.content3" :disabled="conditionSelect || item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)" size="mini" placeholder="请选择证书" style="width:288px;"> <el-select v-model="item3.content4" :disabled="conditionSelect || item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)" size="mini" placeholder="请选择证书" style="width:288px;">
<el-option <el-option
v-for="(itemCertificate,indexCertificate) in certificateIdSelect" v-for="(itemCertificate,indexCertificate) in certificateIdSelect"
:key="indexCertificate" :key="indexCertificate"
...@@ -254,7 +262,7 @@ ...@@ -254,7 +262,7 @@
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="配置证书"> <el-form-item label="配置证书">
<span v-if="item1.content2"></span> <span v-if="item1.certificateFlag == 2"></span>
<span v-else></span> <span v-else></span>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -287,7 +295,7 @@ import BreadCrumb from '../../components/breadcrumb.vue' ...@@ -287,7 +295,7 @@ import BreadCrumb from '../../components/breadcrumb.vue'
import { doUpload, getFilePath } from "../../utils/qiniu-util" import { doUpload, getFilePath } from "../../utils/qiniu-util"
// import { validateWord150 } from "../../utils/validate.js" // import { validateWord150 } from "../../utils/validate.js"
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { openLoading, closeLoading, isNotEmptyUtils, isEmptyList } from '../../utils/utils' import { openLoading, closeLoading, isNotEmptyUtils, isEmptyList, isNotEmptyList } from '../../utils/utils'
import * as commonUtil from '../../utils/utils' import * as commonUtil from '../../utils/utils'
let vm = null let vm = null
// 判断组件是否重名 // 判断组件是否重名
...@@ -325,20 +333,6 @@ let validateModuleName = function(rule, value, callback, message) { ...@@ -325,20 +333,6 @@ let validateModuleName = function(rule, value, callback, message) {
} }
} }
}) })
// if(vm.componentList.moduleModelList[i].openFlag == 2) {
// vm.GET('portal/portalComponent/checkModuleName',{name: value}).then((res) => {
// if(res.code == '000000') {
// if(res.data.resultFlag > 0) {
// callback(new Error(message))
// return
// }else {
// callback()
// }
// }
// })
// }else {
// callback()
// }
} }
} }
export default { export default {
...@@ -348,6 +342,8 @@ export default { ...@@ -348,6 +342,8 @@ export default {
data() { data() {
return { return {
columnFormVisible: false, columnFormVisible: false,
uploadImgMessage: false,
imgMouseOver: false,
itemName: '', itemName: '',
examName: '', examName: '',
examIndex: '', examIndex: '',
...@@ -423,9 +419,6 @@ export default { ...@@ -423,9 +419,6 @@ export default {
{ required: true, message: '请输入组件简介', trigger: 'blur' }, { required: true, message: '请输入组件简介', trigger: 'blur' },
{ min: 1, max: 150, message: '超出可输入的最大长度', trigger: 'blur' } { min: 1, max: 150, message: '超出可输入的最大长度', trigger: 'blur' }
], ],
"imageUrl": [
{ required: true, message: '请上传组件图片', trigger: 'blur' },
],
"certificateId": [ "certificateId": [
{ required: true, message: '请选择证书', trigger: 'blur' }, { required: true, message: '请选择证书', trigger: 'blur' },
], ],
...@@ -491,6 +484,11 @@ export default { ...@@ -491,6 +484,11 @@ export default {
}) })
} }
}, },
// 删除图片
deleteImg() {
vm.portalComponent.imageUrl = ''
vm.imgMouseOver = false
},
// 是否配置证书 // 是否配置证书
selectCertificate(val) { selectCertificate(val) {
vm.portalComponent.certificateId = '' vm.portalComponent.certificateId = ''
...@@ -511,7 +509,9 @@ export default { ...@@ -511,7 +509,9 @@ export default {
vm.GET('portal/portalComponent/CertificateList').then((res) => { vm.GET('portal/portalComponent/CertificateList').then((res) => {
if( res.code == '000000') { if( res.code == '000000') {
vm.certificateIdSelect = res.data.certificateList vm.certificateIdSelect = res.data.certificateList
} }else {
vm.$message.info(res.message)
}
}) })
}, },
// 暂存(下一步) // 暂存(下一步)
...@@ -537,6 +537,11 @@ export default { ...@@ -537,6 +537,11 @@ export default {
if(!vm.componentId) { if(!vm.componentId) {
vm.portalComponent.status = 1 vm.portalComponent.status = 1
} }
if(!vm.portalComponent.imageUrl) {
vm.uploadImgMessage = true
} else {
vm.uploadImgMessage = false
}
vm.$refs.basicInfoForm.validate((valid) => { vm.$refs.basicInfoForm.validate((valid) => {
if (valid) { if (valid) {
vm.submitBasic(flag,url) vm.submitBasic(flag,url)
...@@ -582,6 +587,8 @@ export default { ...@@ -582,6 +587,8 @@ export default {
} }
}) })
} }
} else {
vm.$message.info(res.message)
} }
}) })
}else { }else {
...@@ -628,6 +635,7 @@ export default { ...@@ -628,6 +635,7 @@ export default {
doUpload(vm,file, getFilePath(file,null), 'preview4', 'progress1', 1).then(function (path) { doUpload(vm,file, getFilePath(file,null), 'preview4', 'progress1', 1).then(function (path) {
closeLoading(vm) closeLoading(vm)
vm.portalComponent.imageUrl = path.fullPath vm.portalComponent.imageUrl = path.fullPath
vm.uploadImgMessage = false
}); });
} }
} }
...@@ -638,7 +646,9 @@ export default { ...@@ -638,7 +646,9 @@ export default {
vm.GET('portal/portalComponent/OnlineExamList').then((res) => { vm.GET('portal/portalComponent/OnlineExamList').then((res) => {
if( res.code == '000000') { if( res.code == '000000') {
vm.testIdSelect = res.data.onlineExamList vm.testIdSelect = res.data.onlineExamList
} }else {
vm.$message.info(res.message)
}
}) })
}, },
// 根据考试ID填充考试名称 // 根据考试ID填充考试名称
...@@ -664,7 +674,9 @@ export default { ...@@ -664,7 +674,9 @@ export default {
vm.GET('portal/portalComponent/CourseList').then((res) => { vm.GET('portal/portalComponent/CourseList').then((res) => {
if( res.code == '000000') { if( res.code == '000000') {
vm.courseIdSelect = res.data.courseList vm.courseIdSelect = res.data.courseList
} }else {
vm.$message.info(res.message)
}
}) })
}, },
// 根据课程ID填充课程名称 // 根据课程ID填充课程名称
...@@ -690,7 +702,9 @@ export default { ...@@ -690,7 +702,9 @@ export default {
vm.GET('portal/portalComponent/TempletConfigList').then((res) => { vm.GET('portal/portalComponent/TempletConfigList').then((res) => {
if( res.code == '000000') { if( res.code == '000000') {
vm.templateDataList = res.data.templetConfigModelList vm.templateDataList = res.data.templetConfigModelList
} }else {
vm.$message.info(res.message)
}
}) })
}, },
// 通过编辑获取模块信息 // 通过编辑获取模块信息
...@@ -698,7 +712,9 @@ export default { ...@@ -698,7 +712,9 @@ export default {
vm.GET('portal/portalComponent/ModuleList',{componentId: vm.componentId}).then((res) => { vm.GET('portal/portalComponent/ModuleList',{componentId: vm.componentId}).then((res) => {
if( res.code == '000000') { if( res.code == '000000') {
vm.componentList.moduleModelList = res.data.moduleModelList vm.componentList.moduleModelList = res.data.moduleModelList
} }else {
vm.$message.info(res.message)
}
}) })
}, },
// 模块是否对外开放 // 模块是否对外开放
...@@ -795,7 +811,8 @@ export default { ...@@ -795,7 +811,8 @@ export default {
seqNo: '', seqNo: '',
content1: '', content1: '',
content2: '', content2: '',
content3: '' content3: '',
content4: ''
}] }]
}) })
}else if(item.partConfigModelList[i].type == 2) { // 课程 }else if(item.partConfigModelList[i].type == 2) { // 课程
...@@ -967,6 +984,27 @@ export default { ...@@ -967,6 +984,27 @@ export default {
} }
}, },
finishModule(req, flag) { finishModule(req, flag) {
if(isNotEmptyList(vm.componentList.moduleModelList)) {
for(let i=0;i<vm.componentList.moduleModelList.length;i++) {
if(isNotEmptyList(vm.componentList.moduleModelList[i].templetModelList)) {
for(let j = 0;j<vm.componentList.moduleModelList[i].templetModelList.length;j++) {
for(let k=0;k<vm.componentList.moduleModelList[i].templetModelList[j].partModelList.length;k++) {
if(vm.componentList.moduleModelList[i].templetModelList[j].partModelList[k].type == 1) { // 考试
if(vm.componentList.moduleModelList[i].templetModelList[j].partModelList[k].partContentModelList[0].content4) {
for(let q = 0; q < vm.certificateIdSelect.length;q++) {
if(vm.componentList.moduleModelList[i].templetModelList[j].partModelList[k].partContentModelList[0].content4 == vm.certificateIdSelect[q].id) {
vm.componentList.moduleModelList[i].templetModelList[j].partModelList[k].partContentModelList[0].content3 = vm.certificateIdSelect[q].name
}
}
}
}
}
}
}
}
}
vm.POST('portal/portalComponent/insertOrUpdatePortalModule',{model: vm.componentList.moduleModelList,status: flag}).then((res) => { vm.POST('portal/portalComponent/insertOrUpdatePortalModule',{model: vm.componentList.moduleModelList,status: flag}).then((res) => {
if( res.code == '000000') { if( res.code == '000000') {
vm.enableComponent(req, flag) vm.enableComponent(req, flag)
...@@ -1077,6 +1115,37 @@ export default { ...@@ -1077,6 +1115,37 @@ export default {
top: 100%; top: 100%;
left: 0; left: 0;
} }
.basic-item-icon {
position: relative;
.require {
position: absolute;
left: 51px;
top: 4px;
color: #F56C6C;
}
.upload-message {
position: absolute;
left: 128px;
top: 105px;
font-size: 12px;
color: #F56C6C;
}
.img-delete {
position: absolute;
left: 0px;
top: 0px;
width: 84px;
height: 100px;
background: #000;
opacity: 0.7;
z-index: 999;
i {
color: #fff;
margin-top: 39px;
margin-left: 0px;
}
}
}
} }
.step-content { .step-content {
overflow: hidden; overflow: hidden;
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<el-input v-model="searchParam.name" size="mini" placeholder="请输入组件名称"></el-input> <el-input v-model="searchParam.name" size="mini" placeholder="请输入组件名称"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="6">
<el-form-item label="发布状态:"> <el-form-item label="发布状态:">
<el-select v-model="searchParam.status" size="mini" placeholder="请选择发布状态"> <el-select v-model="searchParam.status" size="mini" placeholder="请选择发布状态">
<el-option <el-option
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="13" style="padding:0;text-align:right;padding-right:15px;"> <el-col :span="12" style="padding:0;text-align:right;padding-right:15px;">
<el-button type="primary" size="small" @click="search">查询</el-button> <el-button type="primary" size="small" @click="search">查询</el-button>
<el-button type="default" size="small" @click="reseat" style="margin-left:0;">重置</el-button> <el-button type="default" size="small" @click="reseat" style="margin-left:0;">重置</el-button>
</el-col> </el-col>
...@@ -156,7 +156,9 @@ export default { ...@@ -156,7 +156,9 @@ export default {
if( res.code == '000000' ) { if( res.code == '000000' ) {
vm.tableData = res.data.queryList vm.tableData = res.data.queryList
vm.totalRows = res.data.total vm.totalRows = res.data.total
} }else {
vm.$message.info(res.message)
}
}) })
}, },
// 重置 // 重置
...@@ -183,7 +185,9 @@ export default { ...@@ -183,7 +185,9 @@ export default {
vm.GET('portal/portalComponent/componentEditRange',req).then((res) => { vm.GET('portal/portalComponent/componentEditRange',req).then((res) => {
if(res.code == "000000") { if(res.code == "000000") {
vm.$router.push({path: 'create-component',query: {id:row.id,status: row.status,resultFlag: res.data.resultFlag}}) vm.$router.push({path: 'create-component',query: {id:row.id,status: row.status,resultFlag: res.data.resultFlag}})
} }else {
vm.$message.info(res.message)
}
}) })
}, },
// 启用(禁用) // 启用(禁用)
...@@ -221,6 +225,8 @@ export default { ...@@ -221,6 +225,8 @@ export default {
type: 'warning' type: 'warning'
}) })
} }
}else {
vm.$message.info(res.message)
} }
}).catch(function (error) { }).catch(function (error) {
vm.$message.error(error); vm.$message.error(error);
...@@ -246,6 +252,8 @@ export default { ...@@ -246,6 +252,8 @@ export default {
message: '删除成功!' message: '删除成功!'
}); });
vm.search() vm.search()
} else {
vm.$message.info(res.message)
} }
}).catch(function (error) { }).catch(function (error) {
vm.$message.error(error); vm.$message.error(error);
......
...@@ -87,7 +87,9 @@ export default { ...@@ -87,7 +87,9 @@ export default {
if( res.code == '000000') { if( res.code == '000000') {
vm.messageList = res.data.portalMessageModels vm.messageList = res.data.portalMessageModels
vm.count = res.data.count vm.count = res.data.count
} } else {
vm.$message.info(res.message)
}
}) })
} }
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册