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

跳转问题

上级 3460e47a
......@@ -33,45 +33,57 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="选择模块" prop="appModuleId" v-if="ruleForm.linkType == 4">
<el-select v-model="ruleForm.appModuleId" filterable class="form-input" placeholder="请选择模块" clearable>
<el-form-item label="选择模块" prop="appModuleDto" v-if="ruleForm.linkType == 4">
<el-select v-model="ruleForm.appModuleDto.name" filterable class="form-input" @change="moduleChange" placeholder="请选择模块" clearable>
<el-option
v-for="item in nameList" :key="item.id" :label="item.name" :value="item.id">
v-for="item in moduleArray.nameList" :key="item.id" :label="item.name" :value="item.name">
</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>
<div v-for="(item,index) in parameterList" :key="index">
<el-form-item label="选择参数:" prop="param" v-if="ruleForm.appModuleDto.paramFlag == 1 && ruleForm.linkType == 4">
<el-select v-model="ruleForm.appModuleDto.paramList[index].value" filterable placeholder="请选择参数" class="form-input">
<el-option
v-for="(item1,index1) in item"
:key="index1"
:label="item1.name"
:value="item1.id + '&'+ item1.name">
</el-option>
</el-select>
</el-form-item>
</div>
<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>
......@@ -128,7 +140,16 @@ export default {
unit:1,
unitTimes:"",
linkType:"",
appModuleId:""
appModuleId:"",
appModuleIdChild:'',
appModuleDto:{
name: '',
linkType: 4,
paramFlag: 2,
code: '',
paramList: [],
paramList2: []
}
},
contentTitle:'项目详情页',
ruleType:'每次打开均弹',
......@@ -142,9 +163,9 @@ export default {
boxImgUrl: [
{ required: true, message: '请上传配图', trigger: 'change' }
],
appModuleId: [
{ required: true, message: '请选择模块', trigger: 'change' }
],
// appModuleDto: [
// { required: true, message: '请选择模块', trigger: 'change' }
// ],
showTimes:[
{ required: true, message: '请输入次数', trigger: 'change' },
{ pattern: /^\d+$|^\d+[.]?\d+$/, message: '请输入正确格式,只允许数字哦'}
......@@ -157,8 +178,10 @@ export default {
qrcodeBox: null,
dialogVisibleJp:false,
linkSelect:[],
nameList:[],
optionsProject:[]
moduleArray:[],
optionsProject:[],
parameterList:[],
paramFlag:''
}
},
created() {
......@@ -191,7 +214,15 @@ export default {
vm.GET(`portal/popBox/getPopBoxDetails/${vm.showId}`).then((res) => {
closeLoading(vm);
if (res.code == "000000") {
vm.ruleForm = {...res.data, appModuleId:res.data.moduleInfo ? res.data.moduleInfo.id : "", linkType:res.data.moduleInfo ? res.data.moduleInfo.linkType : 8};
vm.getModuleData();
vm.ruleForm = {...res.data, appModuleDto:res.data.moduleInfo ? res.data.moduleInfo : {
name: '',
linkType: 4,
paramFlag: 2,
code: '',
paramList: [],
paramList2: []
}, linkType:res.data.moduleInfo ? res.data.moduleInfo.linkType : 8};
} else {
vm.$message.error(res.data.message);
}
......@@ -209,6 +240,74 @@ export default {
this.$router.push(`/teaching-popup`);
// }
},
moduleChange(value) {
for(let i = 0; i < vm.moduleArray.nameList.length; i++) {
if(value == vm.moduleArray.nameList[i].name) {
vm.ruleForm.appModuleDto.code = vm.moduleArray.nameList[i].code
vm.ruleForm.appModuleDto.type = vm.moduleArray.nameList[i].type
vm.ruleForm.appModuleDto.paramFlag = vm.moduleArray.nameList[i].paramFlag
vm.getParamData(vm.moduleArray.nameList[i].id,vm.moduleArray.nameList[i].paramFlag,2)
break
}
}
},
getParamData(id, flag ,a) {
if (flag != 1) return; // 判断是否有参数选择
vm.GET(`contents/moduleConfig/selectParam?id=${id}`)
.then( res => {
if (res.code == "000000") {
vm.parameterList = res.data.paramList || [];
vm.paramConfig = res.data.config
vm.ruleForm.appModuleDto.paramFlag = 1
if(a == 2) { // 判断是初始化还是改变module调的获取参数接口
vm.ruleForm.appModuleDto.paramList = []
for(let j = 0 ;j < vm.parameterList.length; j++) {
vm.ruleForm.appModuleDto.paramList.push({
seqNo: vm.paramConfig[j].seqNo, // 选择参数的索引值
value: '',
key: vm.paramConfig[j].paramKey,
type: vm.paramConfig[j].type, // 通过选择参数中获取
status: 2
})
}
}else {
let arr = vm.ruleForm.appModuleDto.paramList
vm.ruleForm.appModuleDto.paramList= [];
if(arr.length < vm.paramConfig.length) {
for(let k = 0;k < arr.length; k++) {
vm.ruleForm.appModuleDto.paramList.push({
seqNo: vm.paramConfig[k].seqNo,
key: vm.paramConfig[k].paramKey,
type: vm.paramConfig[k].type,
value: arr[k].value
})
}
for(let j = arr.length;j < vm.paramConfig.length;j++) {
vm.ruleForm.appModuleDto.paramList.push({
seqNo: vm.paramConfig[j].seqNo,
key: vm.paramConfig[j].paramKey,
type: vm.paramConfig[j].type,
value: ''
})
}
}else {
for(let k = 0;k < vm.paramConfig.length; k++) {
vm.ruleForm.appModuleDto.paramList.push({
seqNo: vm.paramConfig[k].seqNo,
key: vm.paramConfig[k].paramKey,
type: vm.paramConfig[k].type,
value: arr[k].value
})
}
}
}
}
})
.catch(function (error) {
vm.$message.error(error);
});
},
// 获取链接类型下拉数据
getLinkType() {
vm.GET(`contents/commonComstant/selectByTypeCode?code=${'C005'}`)
......@@ -233,7 +332,13 @@ export default {
vm.GET(`contents/moduleConfig/selectName`)
.then(function (res) {
if (res.code == "000000") {
vm.nameList = res.data.nameList || [];
vm.moduleArray = res.data || [];
for(let j = 0;j < vm.moduleArray.nameList.length; j++) {
if(vm.ruleForm.appModuleDto.name == vm.moduleArray.nameList[j].name){
vm.getParamData(vm.moduleArray.nameList[j].id,vm.ruleForm.appModuleDto.paramFlag,1)
break
}
}
}
})
.catch(function (error) {
......@@ -347,19 +452,35 @@ export default {
},
// 提交
submitForm(formName, pre) {
console.log(vm.ruleForm, 'vm.ruleFormvm.ruleForm');
if(vm.ruleForm.linkType == 4){
if(!vm.ruleForm.appModuleDto.name){
vm.$message.info("请选择模块")
return
}
}
if(vm.ruleForm.appModuleDto.paramFlag == 1){
for(let i=0;i<vm.ruleForm.appModuleDto.paramList.length;i++) {
if(!vm.ruleForm.appModuleDto.paramList[i].value){
vm.$message.info("请选择参数")
return
}
}
}
vm.$refs[formName].validate((valid) => {
if (valid) {
let req = {
appModuleId: vm.ruleForm.linkType == 8 ? 0 : vm.ruleForm.appModuleId || 0,
boxImgUrl:vm.ruleForm.boxImgUrl,
title:vm.ruleForm.title,
content:vm.ruleForm.content,
pageType:vm.ruleForm.pageType,
jumpFlag: vm.ruleForm.linkType == 8 ? 0 : 1,
projectIds:vm.ruleForm.projectIds,
boxImgUrl:vm.ruleForm.boxImgUrl,
ruleType:vm.ruleForm.ruleType,
showTimes:vm.ruleForm.showTimes,
title:vm.ruleForm.title,
unit:vm.ruleForm.unit,
unitTimes:vm.ruleForm.unit,
showTimes:vm.ruleForm.showTimes,
appModuleDto:vm.ruleForm.appModuleDto
};
if (vm.showId) {
req = {...req, id:vm.showId}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册