提交 f9746f63 编写于 作者: qian.jie's avatar qian.jie

教培弹窗添加

上级 fadb56db
...@@ -18,7 +18,8 @@ const editProfessionalExam = r => require.ensure([], () => r(require('../views/e ...@@ -18,7 +18,8 @@ const editProfessionalExam = r => require.ensure([], () => r(require('../views/e
const subjectManager = r => require.ensure([], () => r(require('../views/education/subject-manager.vue')), 'subject-manager') const subjectManager = r => require.ensure([], () => r(require('../views/education/subject-manager.vue')), 'subject-manager')
const editSubject = r => require.ensure([], () => r(require('../views/education/edit-subject.vue')), 'edit-subject') const editSubject = r => require.ensure([], () => r(require('../views/education/edit-subject.vue')), 'edit-subject')
const reportDownload = r => require.ensure([], () => r(require('../views/education/report-download.vue')), 'report-download') const reportDownload = r => require.ensure([], () => r(require('../views/education/report-download.vue')), 'report-download')
const teachingPopup = r => require.ensure([], () => r(require('../views/education/teaching-popup.vue')), 'teaching-popup')
const editeachPopup = r => require.ensure([], () => r(require('../views/education/editeach-popup.vue')), 'editeach-popup')
import patientsRouters from './patients' import patientsRouters from './patients'
import followRouters from './follow' import followRouters from './follow'
...@@ -140,6 +141,14 @@ export default [ ...@@ -140,6 +141,14 @@ export default [
path: "/report-download", path: "/report-download",
component: reportDownload, component: reportDownload,
}, },
{
path: "/teaching-popup",
component: teachingPopup,
},
{
path: "/editeach-popup",
component: editeachPopup,
},
{ {
path: "/edit-subject", path: "/edit-subject",
component: editSubject, component: editSubject,
......
...@@ -220,4 +220,8 @@ export function getExeclUrl(url) { ...@@ -220,4 +220,8 @@ export function getExeclUrl(url) {
// 获取教培项目文件地址 // 获取教培项目文件地址
export function getItemFileUrl(url) { export function getItemFileUrl(url) {
return getConfigByEnvType('itemFileUrl') + url return getConfigByEnvType('itemFileUrl') + url
} }
\ No newline at end of file // // 获取教培弹框url
// export function getEdUrl() {
// return getConfigByEnvType('tEdUrl')
// }
\ No newline at end of file
...@@ -42,6 +42,7 @@ export const envConfig = { ...@@ -42,6 +42,7 @@ export const envConfig = {
stsUrl: "https://dev-api.yunqueyi.com/middle/oss/token/", //sts服务器 stsUrl: "https://dev-api.yunqueyi.com/middle/oss/token/", //sts服务器
bucketName: "pica-test-huabei2", bucketName: "pica-test-huabei2",
endpoint: "oss-cn-beijing.aliyuncs.com", endpoint: "oss-cn-beijing.aliyuncs.com",
tEdUrl:"https://dev-phome.yunqueyi.com/coopv2/#/previewActivityDialog"
}, },
dev: { dev: {
baseUrl: 'https://dev-sc.yunqueyi.com/', baseUrl: 'https://dev-sc.yunqueyi.com/',
...@@ -64,6 +65,7 @@ export const envConfig = { ...@@ -64,6 +65,7 @@ export const envConfig = {
stsUrl: "https://dev-api.yunqueyi.com/middle/oss/token/", //sts服务器 stsUrl: "https://dev-api.yunqueyi.com/middle/oss/token/", //sts服务器
bucketName: "pica-test-huabei2", bucketName: "pica-test-huabei2",
endpoint: "oss-cn-beijing.aliyuncs.com", endpoint: "oss-cn-beijing.aliyuncs.com",
tEdUrl:"https://dev-phome.yunqueyi.com/coopv2/#/previewActivityDialog"
}, },
test: { test: {
baseUrl: 'https://test1-sc.yunqueyi.com/', baseUrl: 'https://test1-sc.yunqueyi.com/',
...@@ -86,6 +88,7 @@ export const envConfig = { ...@@ -86,6 +88,7 @@ export const envConfig = {
stsUrl: "https://test1-api.yunqueyi.com/middle/oss/token/", //sts服务器 stsUrl: "https://test1-api.yunqueyi.com/middle/oss/token/", //sts服务器
bucketName: "pica-test-huabei2", bucketName: "pica-test-huabei2",
endpoint: "oss-cn-beijing.aliyuncs.com", endpoint: "oss-cn-beijing.aliyuncs.com",
tEdUrl:"https://test1-phome.yunqueyi.com/coopv2/#/previewActivityDialog"
}, },
test2: { test2: {
baseUrl: 'https://test2-work.yunqueyi.com/sc/', baseUrl: 'https://test2-work.yunqueyi.com/sc/',
...@@ -107,6 +110,7 @@ export const envConfig = { ...@@ -107,6 +110,7 @@ export const envConfig = {
stsUrl: "https://test2-api.yunqueyi.com/middle/oss/token/", //sts服务器 stsUrl: "https://test2-api.yunqueyi.com/middle/oss/token/", //sts服务器
bucketName: "pica-test-huabei2", bucketName: "pica-test-huabei2",
endpoint: "oss-cn-beijing.aliyuncs.com", endpoint: "oss-cn-beijing.aliyuncs.com",
tEdUrl:"https://test1-phome.yunqueyi.com/coopv2/#/previewActivityDialog"
}, },
uat: { uat: {
baseUrl: 'https://uat-sc.yunqueyi.com/', baseUrl: 'https://uat-sc.yunqueyi.com/',
...@@ -129,6 +133,7 @@ export const envConfig = { ...@@ -129,6 +133,7 @@ export const envConfig = {
stsUrl: "https://uat-api.yunqueyi.com/middle/oss/token/", //sts服务器 stsUrl: "https://uat-api.yunqueyi.com/middle/oss/token/", //sts服务器
bucketName: "pica-pro", bucketName: "pica-pro",
endpoint: "oss-cn-shanghai.aliyuncs.com", endpoint: "oss-cn-shanghai.aliyuncs.com",
tEdUrl:"https://uat-phome.yunqueyi.com/coopv2/#/previewActivityDialog"
}, },
pro: { pro: {
baseUrl: 'https://sc.yunqueyi.com/', baseUrl: 'https://sc.yunqueyi.com/',
...@@ -150,6 +155,7 @@ export const envConfig = { ...@@ -150,6 +155,7 @@ export const envConfig = {
ossImgUrl: 'https://file.yunqueyi.com', ossImgUrl: 'https://file.yunqueyi.com',
stsUrl: "https://api.yunqueyi.com/middle/oss/token/", //sts服务器 stsUrl: "https://api.yunqueyi.com/middle/oss/token/", //sts服务器
bucketName: "pica-pro", bucketName: "pica-pro",
endpoint: "oss-cn-shanghai.aliyuncs.com" endpoint: "oss-cn-shanghai.aliyuncs.com",
tEdUrl:"https://phome.yunqueyi.com/coopv2/#/previewActivityDialog"
} }
} }
...@@ -250,7 +250,10 @@ export function getItemFileUrl(url) { ...@@ -250,7 +250,10 @@ export function getItemFileUrl(url) {
export function getCmsUrl(url) { export function getCmsUrl(url) {
return getConfigByEnvType('cmsUrl') + url return getConfigByEnvType('cmsUrl') + url
} }
// 获取教培弹框url
export function getEdUrl() {
return getConfigByEnvType('tEdUrl')
}
// 转换时间格式 // 转换时间格式
......
<template>
<div class="editeach-popup">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<div class="component-content screenSet" id="screenSet">
<div class="header-title">{{showTitle}}弹窗</div>
<div class="formInfo">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="标题" prop="title">
<el-input v-model="ruleForm.title" class="form-input" placeholder="请输入标题" maxlength="10" show-word-limit></el-input>
</el-form-item>
<el-form-item label="内容" prop="content">
<el-input type="textarea" v-model="ruleForm.content" class="form-input" placeholder="请输入内容" maxlength="20" show-word-limit></el-input>
</el-form-item>
<el-form-item label="页面类型" class="form-input" prop="contentTitle">
<el-select v-model="contentTitle" class="form-input">
<el-option label="项目详情页" value="项目详情页"></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属项目" prop="projectIds">
<el-select multiple v-model="ruleForm.projectIds" class="form-input" placeholder="请选择所属项目">
<el-option
v-for="item in optionsProject"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="链接类型" prop="linkType">
<el-select v-model="ruleForm.linkType" class="form-input" placeholder="请选择链接类型" clearable>
<el-option
v-for="item in linkSelect" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="选择模块" prop="appModuleId" v-if="ruleForm.linkType == 4">
<el-select v-model="ruleForm.appModuleId" class="form-input" placeholder="请选择模块" clearable>
<el-option
v-for="item in nameList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<div class="basic-item-icon">
<el-form-item label="弹框配图" class="required-label" prop="boxImgUrl">
<el-upload
v-model="ruleForm.boxImgUrl"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadPic1"
>
<img
v-if="ruleForm.boxImgUrl"
:src="ruleForm.boxImgUrl"
@mouseover.stop="imgMouseOver1=true"
class="bg-img"
/>
<img v-if="!ruleForm.boxImgUrl" class="bg-img" src="../../assets/image/small.png" />
<div
class="img-delete"
v-show="imgMouseOver1"
@click.stop="deleteImg(1)"
@mouseout.stop="imgMouseOver1=false"
>
<i class="el-icon-delete"></i>
</div>
<div class="limit-text">
<p>宽度:650PX,高度:小于860PX</p>
<p>大小:1.5M以内</p>
<p>仅支持JPEG/PNG/GIF格式</p>
</div>
</el-upload>
</el-form-item>
</div>
<el-form-item label="显示规则" prop="ruleType">
<el-select v-model="ruleType">
<el-option label="每次打开均弹" value="每次打开均弹"></el-option>
</el-select>
</el-form-item>
<el-form-item label="展示频次" prop="unitTimes">
1天最多 <el-input v-model="ruleForm.unitTimes" class="form-input-Show" maxlength="2" placeholder="请输入次数"></el-input>
</el-form-item>
<el-form-item v-if="showType != 1">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
<el-button :style="{marginLeft:'100px'}" type="primary" @click="seeLook">预览</el-button>
</el-form-item>
</el-form>
</div>
</div>
<el-dialog
title="预览"
:visible.sync="dialogVisibleJp"
width="50%"
:before-close="handleClose">
<div id="qrcode" class="qrcode-wrap"></div>
<span slot="footer" class="dialog-footer">
</span>
</el-dialog>
</div>
</template>
<script>
import BreadCrumb from "../../components/breadcrumb.vue";
import { doUpload, getFilePath } from "../../utils/qiniu-util";
import { openLoading, closeLoading } from "../../utils/utils";
import { getEdUrl } from "@/utils/index";
import QRCode from "qrcodejs2"
let vm = null
export default {
components: {
BreadCrumb,
QRCode
},
data() {
return {
curmbFirst: "教培项目",
curmbSecond: "弹窗管理",
showType:'',
showId:'',
ruleForm: {
title: "",
content:"",
boxImgUrl:"",
pageType:0,
projectIds:[],
ruleType:0,
unit:1,
unitTimes:"",
linkType:"",
appModuleId:""
},
contentTitle:'项目详情页',
ruleType:'每次打开均弹',
rules: {
linkType: [
{ required: true, message: '请选择链接类型', trigger: 'change' }
],
projectIds: [
{ required: true, message: '请选择所属项目', trigger: 'change' }
],
boxImgUrl: [
{ required: true, message: '请上传配图', trigger: 'change' }
],
appModuleId: [
{ required: true, message: '请选择模块', trigger: 'change' }
],
unitTimes:[
{ required: true, message: '请输入次数', trigger: 'change' },
{ pattern: /^\d+$|^\d+[.]?\d+$/, message: '请输入正确格式,只允许数字哦'}
],
},
rankList:[],
hiddenFileList: false,
fileList:[],
imgMouseOver1: false,
qrcodeBox: null,
dialogVisibleJp:false,
linkSelect:[],
nameList:[],
optionsProject:[]
}
},
created() {
vm = this
const { id, showType } = vm.$route.query;
vm.showType = showType;
vm.showId = id;
if (id) {
vm.getIdDetail();
}
vm.getLinkType();
vm.getModuleData();
vm.initOption();
},
computed: {
showTitle() {
if (vm.showType == 3) {
return '新增'
}else if (vm.showType == 1) {
return '查看'
}else {
return '编辑'
}
}
},
methods: {
// 获取弹窗详情
getIdDetail() {
openLoading(vm);
vm.GET(`portal/popBox/getPopBoxDetails/${vm.showId}`).then((res) => {
closeLoading(vm);
if (res.code == "000000") {
console.log(res.data);
vm.ruleForm = {...res.data, appModuleId:res.data.moduleInfo.id, linkType:res.data.moduleInfo.linkType};
} else {
vm.$message.error(res.data.message);
}
})
.catch(function(error) {
closeLoading(vm);
vm.$message.error(error);
});
},
// 取消
cancel() {
// if (vm.ruleForm.title || vm.ruleForm.content || vm.ruleForm.startTime || vm.ruleForm.endTime || vm.ruleForm.imageUrl || vm.ruleForm.limitNum || vm.ruleForm.originalPrice || vm.ruleForm.rank) {
// vm.dialogVisibleDown = true;
// }else {
// this.$router.push(`/popupManagement`);
// }
},
// 获取链接类型下拉数据
getLinkType() {
vm.GET(`contents/commonComstant/selectByTypeCode?code=${'C005'}`)
.then(function (res) {
if (res.code == "000000") {
let linkObject = JSON.parse(JSON.stringify(res.data)); //通过这个实现深拷贝
let keys = Object.keys(linkObject);
for (var i = 0; i < keys.length; i++) {
vm.linkSelect.push({
label: linkObject[keys[i]],
value: keys[i] - 0,
});
}
}
})
.catch(function (error) {
vm.$message.error(error);
});
},
// 获取模块下拉数据
getModuleData() {
vm.GET(`contents/moduleConfig/selectName`)
.then(function (res) {
if (res.code == "000000") {
vm.nameList = res.data.nameList || [];
}
})
.catch(function (error) {
vm.$message.error(error);
});
},
// 设置选择框选项
setOption(data) {
let list = [];
for(let i = 0; i<data.length ; i++) {
let obj = {
value: data[i].projectId,
label: data[i].projectName,
}
list.push(obj);
}
return list;
},
// 初始化项目选择框
initOption() {
let req = {
status: 0,
type: 2
};
openLoading(vm);
vm.GET("portal/entryInfo/getProjectList", req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
console.log('000000');
vm.optionsProject = vm.setOption(res.data);
}
});
},
//上传圈子头像
beforeUploadPic1(file) {
let fileLimit = {
width: 650,
height: 860,
size: 1.5,
sizeText: "500K",
key: "boxImgUrl",
more: "imgUrl1More",
show: "uploadImgMessage1"
};
this.beforeUpload(file, fileLimit);
},
//上传图片
beforeUpload(file, fileLimit) {
let vm = this;
const isJPG = file.type === "image/jpeg";
const isPNG = file.type === "image/png";
const isLt2M = file.size / 1024 /1024 < fileLimit.size;
console.log(file.size / 1024 /1024);
console.log(fileLimit.size);
console.log(isLt2M, 'isLt2M');
if (!isJPG && !isPNG) {
vm.$message.error("图片必须是jpeg或png格式,同时长宽尺寸和图片大小需符合要求");
return;
}
if (!isLt2M) {
vm.$message.error("图片大小不符合规范,请根据规范上传图片 ");
return;
}
let _img = new FileReader();
_img.readAsDataURL(file);
_img.onload = function (theFile) {
let image = new Image()
image.src = theFile.target.result
image.onload = function () {
let _this = this;
openLoading(vm);
doUpload(vm, file, getFilePath(file, null), "preview4", "progress1", 1).then(function (path) {
closeLoading(vm);
console.log('上传成功后路径', path);
if (fileLimit.show == "uploadImgMessage1") {
vm.uploadImgMessage1 = false;
} else if (fileLimit.show == "uploadImgMessage2") {
vm.uploadImgMessage2 = false;
}
vm.ruleForm[fileLimit.key] = path.fullPath;
vm.ruleForm[fileLimit.more] = {
attachmentName: path.name,
attachmentExt: path.ext,
attachmentSize: path.size
};
vm.$message.success("上传成功");
});
};
};
return isJPG && isLt2M;
},
//删除图片
deleteImg(type) {
if (type == 1) {
vm.ruleForm.boxImgUrl = "";
vm.imgMouseOver1 = false;
}
},
seeLook() {
vm.submitForm('ruleForm', 'pre')
vm.preViewFn();
},
preViewFn() {
let downloadUrl = getEdUrl('url');
console.log(downloadUrl, 'downloadUrldownloadUrldownloadUrl');
vm.link = `${downloadUrl}?id=${vm.showId}`
vm.dialogVisibleJp = true;
vm.$nextTick (function () {
vm.qrcode();
})
},
// 提交
submitForm(formName, pre) {
vm.$refs[formName].validate((valid) => {
if (valid) {
let req = {
appModuleId: vm.ruleForm.appModuleId,
boxImgUrl:vm.ruleForm.boxImgUrl,
content:vm.ruleForm.content,
pageType:vm.ruleForm.pageType,
projectIds:vm.ruleForm.projectIds,
ruleType:vm.ruleForm.ruleType,
showTimes:1,
title:vm.ruleForm.title,
unit:vm.ruleForm.unit,
unitTimes:vm.ruleForm.unitTimes,
};
if (vm.showId) {
req = {...req, id:vm.showId}
}
openLoading(vm);
vm.POST("portal/popBox/saveOrUpdate", req)
.then((res) => {
if (res.code == "000000") {
closeLoading(vm);
if (pre == 'pre') {
vm.preViewFn();
}else {
vm.$message({
message: '保存成功',
type: 'success'
});
vm.$router.go(-1);
}
} else {
vm.$message.info(res.message);
}
})
.catch(function (error) {
vm.$message.error(error);
});
} else {
console.log('error submit!!');
return false;
}
});
},
// 生成二维码
qrcode () {
if (vm.qrcodeBox) {
vm.qrcodeBox.makeCode(vm.link);
return;
}
vm.qrcodeBox = new QRCode('qrcode', {
width: 400,
height: 400,
text: vm.link, // 二维码内容
// render: 'canvas' , // 设置渲染方式(有两种方式 table和canvas,默认是canvas)
// background: '#f0f', // 背景色
// foreground: '#ff0' // 前景色
})
},
// 关闭预览弹框
handleClose() {
vm.dialogVisibleJp = false;
},
}
}
</script>
<style lang="scss">
.editeach-popup{
.component-content {
background: #fff;
padding: 10px;
.header-title {
padding: 10px 12px;
font-size: 12px;
color: #449284;
border-bottom: 1px solid #efefef;
}
.formInfo{
margin-top: 30px;
.form-input {
width: 500px;
}
.form-input-Show{
width: 125px;
}
.avatar-uploader-icon {
background-color: #fbfdff;
border: 1px dashed #c0ccda;
border-radius: 6px;
box-sizing: border-box;
width: 148px;
height: 148px;
cursor: pointer;
line-height: 146px;
vertical-align: top;
}
.basic-item-icon{
width: 500px;
.bg-uploader{
.el-upload{
display: flex;
align-items: center;
.limit-text{
text-align: left;
margin-left: 20px;
p{
line-height: 20px;
}
}
}
.bg-img{
width: 120px;
}
}
}
}
}
.qrcode-wrap {
width: 400px;
height: 400px;
margin: 0 auto;
}
}
</style>
\ No newline at end of file
<template>
<div class="teaching-popup">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<div class="component-content screenSet" id="screenSet">
<div class="header-title">弹窗管理</div>
<!-- 搜索 -->
<el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;">
<el-form ref="serchForm" :model="searchParam" label-width="75px" style="width:100%;">
<el-col :span="6">
<el-form-item label="标题:">
<el-input v-model="searchParam.titleStr" size="small" placeholder="请输入标题"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="padding-top:5px;">
<el-button type="primary" size="small" @click="search(1)">查询</el-button>
</el-col>
<el-col :span="10" style="padding:0;text-align:right;padding-right:15px;padding-top:5px;">
<el-button type="primary" size="small" @click="addNewLog" style="margin-left:0;">新建弹窗</el-button>
</el-col>
</el-form>
</el-row>
<!-- 表格 -->
<el-table
:data="tableData"
style="width: 100%; margin-top:30px">
<el-table-column prop="id" label="ID" min-width="100" align="center"></el-table-column>
<el-table-column prop="title" label="标题" min-width="200" align="center"></el-table-column>
<el-table-column prop="uploadTime" label="发布时间" min-width="100" align="center">
<template slot-scope="scope">
<span v-if="scope.row.uploadTime">{{ scope.row.uploadTime }}</span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column prop="status" label="状态" min-width="80" align="center">
<template slot-scope="scope">
<span>{{ scope.row.status | statusFilter }}</span>
</template>
</el-table-column>
<el-table-column prop="lastUpdateTime" label="最后修改时间" min-width="160" align="center">
<template slot-scope="scope">
<span v-if="scope.row.lastUpdateTime">{{ scope.row.lastUpdateTime }}</span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" min-width="200">
<template slot-scope="scope">
<el-button type="primary" v-if="scope.row.status == 2" size="small" @click="preView(scope.row)" >查看</el-button>
<el-button size="small" v-if="scope.row.status == 1" @click="editColumn(scope.row)" >编辑</el-button>
<el-button
v-if="scope.row.status == 2"
type="danger"
size="small"
@click="downStatus(scope.row)"
>下架</el-button>
<el-button
v-else
type="primary"
size="small"
@click="openStatusDialog(scope.row)"
>发布</el-button>
</template>
</el-table-column>
<div slot="empty">
<div class="table-empty">
<img src="../../assets/image/no-content1.png" />
<p>没有查询到相关结果</p>
</div>
</div>
</el-table>
<!-- 分页 -->
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="searchParam.pageNo"
:page-sizes="[10, 30, 50, 100]"
:page-size="searchParam.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows"
></el-pagination>
</div>
<el-dialog
class="dialogFaBu"
:visible.sync="dialogVisible"
width="30%">
<div class="showInfo" :style="{paddingLeft:'50px'}">
<span class="titleTop">
<span class="checkIconTitle"><i class="el-icon-check"></i></span>
<span class="titleInfo">确认发布弹框</span>
</span>
<p class="titlePsizw">确认发布 {{showTitleInfo.title}} 吗</p>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="submitFaBu(1)">确 定</el-button>
</span>
</el-dialog>
<el-dialog
class="dialogFaBu"
:visible.sync="dialogVisibleDown"
width="30%">
<div class="showInfo" :style="{paddingLeft:'50px'}">
<span class="titleTop">
<span class="checkIconTitleDown"><i class="el-icon-close"></i></span>
<span class="titleInfo">确认下架弹框</span>
</span>
<p class="titlePsizw">确定下架 {{showTitleInfo.title}} 吗</p>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleDown = false">取 消</el-button>
<el-button type="primary" @click="submitFaBu(2)">确 定</el-button>
</span>
</el-dialog>
<el-dialog
class="dialogFaBu"
:visible.sync="dialogVisibleCover"
width="30%">
<div class="showInfo" :style="{paddingLeft:'50px'}">
<span class="titleTop">
<span class="checkIconTitleDown"><i class="el-icon-close"></i></span>
<span class="titleInfo">确认覆盖之前的弹窗吗?</span>
</span>
<p class="titlePsizw">您选择的教培项目有配置过弹窗,是否要覆盖之前的弹窗,使用本次新增的弹窗</p>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleCover = false">取 消</el-button>
<el-button type="primary" @click="submitCover">确 定</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import BreadCrumb from "../../components/breadcrumb.vue";
let vm = null;
export default {
components: {
BreadCrumb
},
data() {
return {
curmbFirst: "教培项目",
curmbSecond: "弹窗管理",
formInline: {
pageNo: 1,
pageSize: 10
},
searchParam:{
titleStr:'',
pageNo: 1,
pageSize: 10
},
tableData:[],
totalRows: 0,
linkSelect: [],
dialogVisible:false,
dialogVisibleDown:false,
dialogVisibleCover:false,
showTitleInfo:{}
}
},
computed: {
},
created() {
vm = this;
vm.search();
},
filters: {
statusFilter(val) {
if (val == 2) {
return '已发布'
} else if (val == 1) {
return '未发布'
}
}
},
methods: {
handleSizeChange(val) {
vm.searchParam.pageSize = val;
vm.search();
},
handleCurrentChange(val) {
vm.searchParam.pageNo = val;
vm.search();
},
search() {
let req = {
titleStr: this.searchParam.titleStr,
pageNo: this.searchParam.pageNo,
pageSize:this.searchParam.pageSize
};
vm.POST("portal/popBox/getPopBoxList", req)
.then((res) => {
if (res.code == "000000") {
this.tableData = res.data.list;
this.totalRows = res.data.allSize;
} else {
vm.$message.info(res.message);
}
})
.catch(function (error) {
vm.$message.error(error);
});
},
submitFaBu(value) {
if (value == 1) {
vm.submitCover();
}else {
let req = {
confirmFlag: 1,
id:vm.showTitleInfo.id
};
vm.POST("portal/popBox/undercarriagePopBox", req)
.then((res) => {
if (res.code == "000000") {
vm.dialogVisibleDown = false;
vm.search();
} else {
vm.$message.info(res.message);
}
})
.catch(function (error) {
vm.$message.error(error);
});
}
},
// 查看
preView(data) {
console.log(data);
this.$router.push({path:'/editeach-popup', query:{id:data.id, showType:1}});
},
// 编辑
editColumn(data) {
console.log(data);
this.$router.push({path:'/editeach-popup', query:{id:data.id, showType:2}});
},
// 新增弹窗
addNewLog() {
this.$router.push({path:'/editeach-popup', query:{showType:3}});
},
openStatusDialog(data) {
let req = {
confirmFlag: 0,
id:data.id
};
vm.POST("portal/popBox/uploadPopBox", req)
.then((res) => {
if (res.code == "000000") {
console.log(res, '22222');
if (res.data.haveBox == 1) {
// 有已发布的冲突,需覆盖
vm.showTitleInfo = data;
vm.dialogVisibleCover = true;
}else {
vm.showTitleInfo = data;
vm.dialogVisible = true;
}
} else {
vm.$message.info(res.message);
}
})
.catch(function (error) {
vm.$message.error(error);
});
},
// 覆盖
submitCover() {
let req = {
confirmFlag: 1,
id:vm.showTitleInfo.id
};
vm.POST("portal/popBox/uploadPopBox", req)
.then((res) => {
if (res.code == "000000") {
if (res.data.isSuccess == 1) {
vm.dialogVisible = false;
vm.dialogVisibleCover = false;
}
vm.search();
} else {
vm.$message.info(res.message);
}
})
.catch(function (error) {
vm.$message.error(error);
});
},
downStatus(data) {
vm.showTitleInfo = data;
vm.dialogVisibleDown = true;
},
}
}
</script>
<style lang="scss">
.teaching-popup{
.component-content {
background: #fff;
padding: 10px;
.header-title {
padding: 10px 12px;
font-size: 12px;
color: #449284;
border-bottom: 1px solid #efefef;
}
}
.dialogFaBu{
.titleTop {
margin-bottom: 10px;
.checkIconTitleDown{
background:red;
border-radius: 50%;
padding: 5px;
margin-right: 10px;
}
.checkIconTitle{
background: #67C23A;
border-radius: 50%;
padding: 5px;
margin-right: 10px;
}
.el-icon-close{
width: 15px;
height: 15px;
color: white;
}
.el-icon-check{
width: 15px;
height: 15px;
color: white;
}
}
.titlePsizw{
padding-top: 20px;
padding-left: 38px;
}
}
}
</style>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册