|
@@ -6,7 +6,7 @@ import {
|
|
|
getWebsiteTemplateclassintel, addWebsiteTemplate, getWebsiteTemplateInfo, getWebsiteTemplateData, getAdminWebsiteFootAll
|
|
|
} from '@/api/template'
|
|
|
|
|
|
-import { Message } from 'element-ui'; //注意在这里引入是非常不符合规范的
|
|
|
+import { Message,MessageBox } from 'element-ui'; //注意在这里引入是非常不符合规范的
|
|
|
|
|
|
import Vue from 'vue'; //导入Vue 因为我们要进行深层次的json修改,深拷贝的数据无法令视图更新
|
|
|
//所以我们需要使用Vue的$set方法来强制视图更新,在vuex中没有this,这里我们需要通过引入vue来使用vue.$set
|
|
@@ -23,6 +23,13 @@ const state = {
|
|
|
adKey: "",//当前编辑网站的缩写
|
|
|
editWebsiteClass: "",//当前编辑网站的风格
|
|
|
stepStatus: true,//是否显示现在进行到哪一步:true=显示 false=不显示
|
|
|
+ pageDataStatus:{//页面数据完整度
|
|
|
+ index:{
|
|
|
+ sector:0,//当前板块数量,为0表示一个都没有,最少需要1个模块才能保存
|
|
|
+ cid:0,//缺少的导航池id 为0表示没有缺少
|
|
|
+ ad:0//缺少的广告名称,为0表示没有缺少
|
|
|
+ }
|
|
|
+ },
|
|
|
//0.全局配置 end------------------------------------------------------------>
|
|
|
|
|
|
//1.画布数据 start------------------------------------------------------------>
|
|
@@ -122,6 +129,15 @@ const state = {
|
|
|
},
|
|
|
//4.广告位
|
|
|
ad: {
|
|
|
+ top:{
|
|
|
+ "width": 830,
|
|
|
+ "height": 110,
|
|
|
+ "name": "",
|
|
|
+ "website_id": "",
|
|
|
+ "thumb": "https://img.bjzxtw.org.cn/pre/image/png/20250530/1748588901281358.png",
|
|
|
+ "typeid": 2,
|
|
|
+ "ad_tag": ""
|
|
|
+ },
|
|
|
index: [],
|
|
|
class: [],
|
|
|
list: [],
|
|
@@ -274,15 +290,13 @@ const mutations = {
|
|
|
},
|
|
|
//清空广告位
|
|
|
clearAd(state) {
|
|
|
- state.webSiteData.ad = {
|
|
|
- index: [],
|
|
|
- class: [],
|
|
|
- list: [],
|
|
|
- article: [],
|
|
|
- search: [],
|
|
|
- aloneList: [],
|
|
|
- aloneArticle: []
|
|
|
- }
|
|
|
+ state.webSiteData.ad.index = [];
|
|
|
+ state.webSiteData.ad.class = [];
|
|
|
+ state.webSiteData.ad.list = [];
|
|
|
+ state.webSiteData.ad.article = [];
|
|
|
+ state.webSiteData.ad.search = [];
|
|
|
+ state.webSiteData.ad.aloneList = [];
|
|
|
+ state.webSiteData.ad.aloneArticle = [];
|
|
|
},
|
|
|
//0.全局配置 start------------------------------------------------------------>
|
|
|
//1.配置模块 start------------------------------------------------------------>
|
|
@@ -290,169 +304,184 @@ const mutations = {
|
|
|
setGridlayoutObj(state, data) {
|
|
|
state.gridlayoutObj = data;
|
|
|
},
|
|
|
- //添加板块
|
|
|
+ //添加板块 - 在此处进行是否可以添加的判断
|
|
|
addModule(state, data) {
|
|
|
//pageStatus==1 首页 index
|
|
|
if (state.pageStatus == 1) {
|
|
|
- //开始复制 start------------------------------------------------------------>
|
|
|
- //判断当前一共有多少个模块最多能添加10个
|
|
|
if (state.pageData.index.length >= 10) {
|
|
|
- Message.error('最多只能添加10个模块!');
|
|
|
+ Message.error('最多只能添加10个通栏!');
|
|
|
return;
|
|
|
} else {
|
|
|
console.log(data.jsonData)
|
|
|
- //判断是拖拽的还是点击添加进来的 click=点击
|
|
|
- if (data.source == "click") {
|
|
|
- console.log("通过点击添加一个板块");
|
|
|
- //通过时间戳生成id
|
|
|
- const currentTimestamp = Date.now();
|
|
|
- let id = currentTimestamp;
|
|
|
- //data.type 组件名称 data.h 模块高度
|
|
|
- //计算当前布局的最大 y 值
|
|
|
- const maxY = Math.max(...state.pageData.index.map(item => item.y), 0);
|
|
|
- console.log(data);
|
|
|
- //设置数据在构建json中的位置
|
|
|
- let dataSort = state.pageData.index.length;
|
|
|
- //判断添加的是否为广告模块 如果是 添加一个ad_id
|
|
|
- state.pageData.index.push({
|
|
|
- //i: state.pageData.index.length, //base 0.0.1 此方法会导致重复的id出现
|
|
|
- i: id,
|
|
|
- x: 0,
|
|
|
- y: maxY + 1,
|
|
|
- w: 12,
|
|
|
- h: data.h,
|
|
|
- type: data.type,
|
|
|
- //sectorData:data.jsonData //base 0.0.1 此问题导致深层数据无法被视图渲染
|
|
|
- content: data.jsonData,
|
|
|
- dataSort: dataSort,
|
|
|
- });
|
|
|
- console.log("当前添加模块的dataSort为:" + dataSort);
|
|
|
- //当前的页面构建数据
|
|
|
- console.log(state.pageData.index);
|
|
|
- }
|
|
|
+ //判断当前板块是否含有广告位
|
|
|
+ // if(data.jsonData.ad){
|
|
|
+ // MessageBox.confirm('您正在添加含有广告位的通栏,此通栏添加后不可删除,但是可以通过:“广告管理 -> 广告位管理” 进行编辑,确定吗?', '注意', {
|
|
|
+ // confirmButtonText: '确定',
|
|
|
+ // cancelButtonText: '取消',
|
|
|
+ // }).then(() => {
|
|
|
+ // this.commit('template/pushModule', data);
|
|
|
+ // }).catch(() => {
|
|
|
+ // Message.success('已取消添加通栏!');
|
|
|
+ // });
|
|
|
+ // }else{
|
|
|
+ // this.commit('template/pushModule', data);
|
|
|
+ // }
|
|
|
+ this.commit('template/pushModule', data);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //pageStatus==2 分类页 class
|
|
|
+ if (state.pageStatus == 2) { }
|
|
|
+ //pageStatus==3 列表页 list
|
|
|
+ if (state.pageStatus == 3) { }
|
|
|
+ //pageStatus==4 详情页 article
|
|
|
+ if (state.pageStatus == 4) { }
|
|
|
+ //pageStatus==5 搜索页 search
|
|
|
+ if (state.pageStatus == 5) { }
|
|
|
+ //pageStatus==6 自定义列表页 aloneList
|
|
|
+ if (state.pageStatus == 6) { }
|
|
|
+ //pageStatus==7 自定义详情页 aloneArticle
|
|
|
+ if (state.pageStatus == 7) { }
|
|
|
+ },
|
|
|
+ //该数据可以添加到画布
|
|
|
+ pushModule(state,data){
|
|
|
+ if (state.pageStatus == 1) {
|
|
|
+ console.log(data.jsonData)
|
|
|
+ //判断是拖拽的还是点击添加进来的 click=点击
|
|
|
+ if (data.source == "click") {
|
|
|
+ console.log("通过点击添加一个板块");
|
|
|
+ //通过时间戳生成id
|
|
|
+ const currentTimestamp = Date.now();
|
|
|
+ let id = currentTimestamp;
|
|
|
+ //data.type 组件名称 data.h 模块高度
|
|
|
+ //计算当前布局的最大 y 值
|
|
|
+ const maxY = Math.max(...state.pageData.index.map(item => item.y), 0);
|
|
|
+ console.log(data);
|
|
|
+ //设置数据在构建json中的位置
|
|
|
+ let dataSort = state.pageData.index.length;
|
|
|
+ //判断添加的是否为广告模块 如果是 添加一个ad_id
|
|
|
+ state.pageData.index.push({
|
|
|
+ //i: state.pageData.index.length, //base 0.0.1 此方法会导致重复的id出现
|
|
|
+ i: id,
|
|
|
+ x: 0,
|
|
|
+ y: maxY + 1,
|
|
|
+ w: 12,
|
|
|
+ h: data.h,
|
|
|
+ type: data.type,
|
|
|
+ //sectorData:data.jsonData //base 0.0.1 此问题导致深层数据无法被视图渲染
|
|
|
+ content: data.jsonData,
|
|
|
+ dataSort: dataSort,
|
|
|
+ });
|
|
|
+ console.log("当前添加模块的dataSort为:" + dataSort);
|
|
|
+ //当前的页面构建数据
|
|
|
+ console.log(state.pageData.index);
|
|
|
+ }
|
|
|
|
|
|
- //drag=拖拽
|
|
|
- if (data.source == "drag") {
|
|
|
- //拖拽添加
|
|
|
- console.log("通过拖拽添加一个板块");
|
|
|
- //通过时间戳生成id
|
|
|
- const currentTimestamp = Date.now();
|
|
|
- let id = currentTimestamp;
|
|
|
- //data.type 组件名称 data.h 模块高度
|
|
|
- //计算当前布局的最大 y 值
|
|
|
- const maxY = Math.max(...state.pageData.index.map(item => item.y), 0);
|
|
|
- console.log(data);
|
|
|
- //设置数据在构建json中的位置
|
|
|
- let dataSort = state.pageData.index.length;
|
|
|
- //判断添加的是否为广告模块 如果是 添加一个ad_id
|
|
|
- state.pageData.index.push({
|
|
|
- //i: state.pageData.index.length, //base 0.0.1 此方法会导致重复的id出现
|
|
|
- i: id,
|
|
|
- x: 0,
|
|
|
- y: data.y,
|
|
|
- w: 12,
|
|
|
- h: data.h,
|
|
|
- type: data.type,
|
|
|
- //sectorData:data.jsonData //base 0.0.1 此问题导致深层数据无法被视图渲染
|
|
|
- content: data.jsonData,
|
|
|
- dataSort: dataSort,
|
|
|
- });
|
|
|
- console.log("当前添加模块的dataSort为:" + dataSort);
|
|
|
- //当前的页面构建数据
|
|
|
- console.log(state.pageData.index);
|
|
|
- //需要调查一下这里最后的1,1
|
|
|
- state.gridlayoutObj.dragEvent('dragend', data.i, data.x, data.y, 1, 1);
|
|
|
- try {
|
|
|
- state.gridlayoutObj.$children[state.pageData.index.length].$refs.item.style.display = "block";
|
|
|
- } catch {
|
|
|
+ //drag=拖拽
|
|
|
+ if (data.source == "drag") {
|
|
|
+ //拖拽添加
|
|
|
+ console.log("通过拖拽添加一个板块");
|
|
|
+ //通过时间戳生成id
|
|
|
+ const currentTimestamp = Date.now();
|
|
|
+ let id = currentTimestamp;
|
|
|
+ //data.type 组件名称 data.h 模块高度
|
|
|
+ //计算当前布局的最大 y 值
|
|
|
+ const maxY = Math.max(...state.pageData.index.map(item => item.y), 0);
|
|
|
+ console.log(data);
|
|
|
+ //设置数据在构建json中的位置
|
|
|
+ let dataSort = state.pageData.index.length;
|
|
|
+ //判断添加的是否为广告模块 如果是 添加一个ad_id
|
|
|
+ state.pageData.index.push({
|
|
|
+ //i: state.pageData.index.length, //base 0.0.1 此方法会导致重复的id出现
|
|
|
+ i: id,
|
|
|
+ x: 0,
|
|
|
+ y: data.y,
|
|
|
+ w: 12,
|
|
|
+ h: data.h,
|
|
|
+ type: data.type,
|
|
|
+ //sectorData:data.jsonData //base 0.0.1 此问题导致深层数据无法被视图渲染
|
|
|
+ content: data.jsonData,
|
|
|
+ dataSort: dataSort,
|
|
|
+ });
|
|
|
+ console.log("当前添加模块的dataSort为:" + dataSort);
|
|
|
+ //当前的页面构建数据
|
|
|
+ console.log(state.pageData.index);
|
|
|
+ //需要调查一下这里最后的1,1
|
|
|
+ state.gridlayoutObj.dragEvent('dragend', data.i, data.x, data.y, 1, 1);
|
|
|
+ try {
|
|
|
+ state.gridlayoutObj.$children[state.pageData.index.length].$refs.item.style.display = "block";
|
|
|
+ } catch {
|
|
|
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
- //开始复制 end------------------------------------------------------------>
|
|
|
}
|
|
|
//pageStatus==2 分类页 class
|
|
|
if (state.pageStatus == 2) { }
|
|
|
//pageStatus==3 列表页 list
|
|
|
if (state.pageStatus == 3) {
|
|
|
- //开始复制 start------------------------------------------------------------>
|
|
|
- //判断当前一共有多少个模块最多能添加10个
|
|
|
- if (state.pageData.list.length >= 10) {
|
|
|
- Message.error('最多只能添加10个模块!');
|
|
|
- return;
|
|
|
- } else {
|
|
|
- //判断是拖拽的还是点击添加进来的 click=点击
|
|
|
- if (data.source == "click") {
|
|
|
- console.log("通过点击添加一个板块");
|
|
|
- //通过时间戳生成id
|
|
|
- const currentTimestamp = Date.now();
|
|
|
- let id = currentTimestamp;
|
|
|
- //data.type 组件名称 data.h 模块高度
|
|
|
- //计算当前布局的最大 y 值
|
|
|
- const maxY = Math.max(...state.pageData.list.map(item => item.y), 0);
|
|
|
- console.log(data);
|
|
|
- //设置数据在构建json中的位置
|
|
|
- let dataSort = state.pageData.list.length;
|
|
|
- state.pageData.list.push({
|
|
|
- //i: state.pageData.index.length, //base 0.0.1 此方法会导致重复的id出现
|
|
|
- i: id,
|
|
|
- x: 0,
|
|
|
- y: maxY + 1,
|
|
|
- w: 12,
|
|
|
- h: data.h,
|
|
|
- type: data.type,
|
|
|
- //sectorData:data.jsonData //base 0.0.1 此问题导致深层数据无法被视图渲染
|
|
|
- content: data.jsonData,
|
|
|
- dataSort: dataSort,
|
|
|
- });
|
|
|
- }
|
|
|
+ //判断是拖拽的还是点击添加进来的 click=点击
|
|
|
+ if (data.source == "click") {
|
|
|
+ console.log("通过点击添加一个板块");
|
|
|
+ //通过时间戳生成id
|
|
|
+ const currentTimestamp = Date.now();
|
|
|
+ let id = currentTimestamp;
|
|
|
+ //data.type 组件名称 data.h 模块高度
|
|
|
+ //计算当前布局的最大 y 值
|
|
|
+ const maxY = Math.max(...state.pageData.list.map(item => item.y), 0);
|
|
|
+ console.log(data);
|
|
|
+ //设置数据在构建json中的位置
|
|
|
+ let dataSort = state.pageData.list.length;
|
|
|
+ state.pageData.list.push({
|
|
|
+ //i: state.pageData.index.length, //base 0.0.1 此方法会导致重复的id出现
|
|
|
+ i: id,
|
|
|
+ x: 0,
|
|
|
+ y: maxY + 1,
|
|
|
+ w: 12,
|
|
|
+ h: data.h,
|
|
|
+ type: data.type,
|
|
|
+ //sectorData:data.jsonData //base 0.0.1 此问题导致深层数据无法被视图渲染
|
|
|
+ content: data.jsonData,
|
|
|
+ dataSort: dataSort,
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
- //drag=拖拽
|
|
|
- if (data.source == "drag") {
|
|
|
- //拖拽添加
|
|
|
- console.log("通过拖拽添加一个板块");
|
|
|
- //通过时间戳生成id
|
|
|
- const currentTimestamp = Date.now();
|
|
|
- let id = currentTimestamp;
|
|
|
- //data.type 组件名称 data.h 模块高度
|
|
|
- //计算当前布局的最大 y 值
|
|
|
- const maxY = Math.max(...state.pageData.list.map(item => item.y), 0);
|
|
|
- console.log(data);
|
|
|
- //设置数据在构建json中的位置
|
|
|
- let dataSort = state.pageData.list.length;
|
|
|
- state.pageData.list.push({
|
|
|
- //i: state.pageData.index.length, //base 0.0.1 此方法会导致重复的id出现
|
|
|
- i: id,
|
|
|
- x: 0,
|
|
|
- y: maxY + 1,
|
|
|
- w: 12,
|
|
|
- h: data.h,
|
|
|
- type: data.type,
|
|
|
- //sectorData:data.jsonData //base 0.0.1 此问题导致深层数据无法被视图渲染
|
|
|
- content: data.jsonData,
|
|
|
- dataSort: dataSort,
|
|
|
- });
|
|
|
- console.log("当前添加模块的dataSort为:" + dataSort);
|
|
|
- //当前的页面构建数据
|
|
|
- console.log(state.pageData.list);
|
|
|
- //需要调查一下这里最后的1,1
|
|
|
- state.gridlayoutObj.dragEvent('dragend', data.i, data.x, data.y, 1, 1);
|
|
|
- try {
|
|
|
- state.gridlayoutObj.$children[state.pageData.list.length].$refs.item.style.display = "block";
|
|
|
- } catch { }
|
|
|
- }
|
|
|
+ //drag=拖拽
|
|
|
+ if (data.source == "drag") {
|
|
|
+ //拖拽添加
|
|
|
+ console.log("通过拖拽添加一个板块");
|
|
|
+ //通过时间戳生成id
|
|
|
+ const currentTimestamp = Date.now();
|
|
|
+ let id = currentTimestamp;
|
|
|
+ //data.type 组件名称 data.h 模块高度
|
|
|
+ //计算当前布局的最大 y 值
|
|
|
+ const maxY = Math.max(...state.pageData.list.map(item => item.y), 0);
|
|
|
+ console.log(data);
|
|
|
+ //设置数据在构建json中的位置
|
|
|
+ let dataSort = state.pageData.list.length;
|
|
|
+ state.pageData.list.push({
|
|
|
+ //i: state.pageData.index.length, //base 0.0.1 此方法会导致重复的id出现
|
|
|
+ i: id,
|
|
|
+ x: 0,
|
|
|
+ y: maxY + 1,
|
|
|
+ w: 12,
|
|
|
+ h: data.h,
|
|
|
+ type: data.type,
|
|
|
+ //sectorData:data.jsonData //base 0.0.1 此问题导致深层数据无法被视图渲染
|
|
|
+ content: data.jsonData,
|
|
|
+ dataSort: dataSort,
|
|
|
+ });
|
|
|
+ console.log("当前添加模块的dataSort为:" + dataSort);
|
|
|
+ //当前的页面构建数据
|
|
|
+ console.log(state.pageData.list);
|
|
|
+ //需要调查一下这里最后的1,1
|
|
|
+ state.gridlayoutObj.dragEvent('dragend', data.i, data.x, data.y, 1, 1);
|
|
|
+ try {
|
|
|
+ state.gridlayoutObj.$children[state.pageData.list.length].$refs.item.style.display = "block";
|
|
|
+ } catch { }
|
|
|
}
|
|
|
- //开始复制 end------------------------------------------------------------>
|
|
|
}
|
|
|
//pageStatus==4 详情页 article
|
|
|
if (state.pageStatus == 4) {
|
|
|
- //开始复制 start------------------------------------------------------------>
|
|
|
- //判断当前一共有多少个模块最多能添加10个
|
|
|
- if (state.pageData.article.length >= 10) {
|
|
|
- Message.error('最多只能添加10个模块!');
|
|
|
- return;
|
|
|
- } else {
|
|
|
- //判断是拖拽的还是点击添加进来的 click=点击
|
|
|
+ //判断是拖拽的还是点击添加进来的 click=点击
|
|
|
if (data.source == "click") {
|
|
|
console.log("通过点击添加一个板块");
|
|
|
//通过时间戳生成id
|
|
@@ -512,8 +541,6 @@ const mutations = {
|
|
|
state.gridlayoutObj.$children[state.pageData.article.length].$refs.item.style.display = "block";
|
|
|
} catch { }
|
|
|
}
|
|
|
- }
|
|
|
- //开始复制 end------------------------------------------------------------>
|
|
|
}
|
|
|
//pageStatus==5 搜索页 search
|
|
|
if (state.pageStatus == 5) { }
|
|
@@ -724,6 +751,10 @@ const mutations = {
|
|
|
//pageStatus==7 自定义详情页
|
|
|
if (state.pageStatus == 7) { }
|
|
|
},
|
|
|
+ //保存全局广告的数据
|
|
|
+ saveAdData(state, data) {
|
|
|
+ state.webSiteData.ad.top.name = data.data.name;
|
|
|
+ },
|
|
|
//保存组件设置的数据
|
|
|
saveComponentData(state, data) {
|
|
|
//传入的板块id
|
|
@@ -1090,7 +1121,7 @@ const mutations = {
|
|
|
}
|
|
|
//如果在画布内,开始创建元素
|
|
|
if (mouseInGrid === true) {
|
|
|
- alert(`Dropped element props:\n${JSON.stringify(state.DragPos, ['x', 'y', 'w', 'h'], 2)}`);
|
|
|
+ //alert(`Dropped element props:\n${JSON.stringify(state.DragPos, ['x', 'y', 'w', 'h'], 2)}`);
|
|
|
state.gridlayoutObj.dragEvent('dragend', 'drop', state.DragPos.x, state.DragPos.y, 1, 1);
|
|
|
state.pageData.index = state.pageData.index.filter(obj => obj.i !== 'drop');
|
|
|
|
|
@@ -1137,7 +1168,7 @@ const mutations = {
|
|
|
}
|
|
|
//如果在画布内,开始创建元素
|
|
|
if (mouseInGrid === true) {
|
|
|
- alert(`Dropped element props:\n${JSON.stringify(state.DragPos, ['x', 'y', 'w', 'h'], 2)}`);
|
|
|
+ //alert(`Dropped element props:\n${JSON.stringify(state.DragPos, ['x', 'y', 'w', 'h'], 2)}`);
|
|
|
state.gridlayoutObj.dragEvent('dragend', 'drop', state.DragPos.x, state.DragPos.y, 1, 1);
|
|
|
state.pageData.list = state.pageData.list.filter(obj => obj.i !== 'drop');
|
|
|
|
|
@@ -1166,7 +1197,7 @@ const mutations = {
|
|
|
}
|
|
|
//如果在画布内,开始创建元素
|
|
|
if (mouseInGrid === true) {
|
|
|
- alert(`Dropped element props:\n${JSON.stringify(state.DragPos, ['x', 'y', 'w', 'h'], 2)}`);
|
|
|
+ //alert(`Dropped element props:\n${JSON.stringify(state.DragPos, ['x', 'y', 'w', 'h'], 2)}`);
|
|
|
state.gridlayoutObj.dragEvent('dragend', 'drop', state.DragPos.x, state.DragPos.y, 1, 1);
|
|
|
state.pageData.article = state.pageData.article.filter(obj => obj.i !== 'drop');
|
|
|
|
|
@@ -1228,17 +1259,20 @@ const mutations = {
|
|
|
let clonedData = JSON.parse(JSON.stringify(data));
|
|
|
// 按照 clonedData.data.y 的大小排序
|
|
|
clonedData.data.sort((a, b) => a.y - b.y);
|
|
|
+ //获取当前页面名称
|
|
|
+ let getPageName = () =>{
|
|
|
+ if(state.pageStatus==1){return "index";}
|
|
|
+ if(state.pageStatus==2){return "category";}
|
|
|
+ if(state.pageStatus==3){return "list";}
|
|
|
+ if(state.pageStatus==4){return "detail";}
|
|
|
+ if(state.pageStatus==5){return "search";}
|
|
|
+ if(state.pageStatus==6){return "page";}
|
|
|
+ if(state.pageStatus==7){return "page";}
|
|
|
+ }
|
|
|
// 取出每个通栏中的广告,并保存到state.webSiteData.ad中
|
|
|
for (let index in clonedData.data) {
|
|
|
if(clonedData.data[index].content.ad){
|
|
|
- let pageName = "";
|
|
|
- if(state.pageStatus==1){pageName = "index";}
|
|
|
- if(state.pageStatus==2){pageName = "category";}
|
|
|
- if(state.pageStatus==3){pageName = "list";}
|
|
|
- if(state.pageStatus==4){pageName = "detail";}
|
|
|
- if(state.pageStatus==5){pageName = "search";}
|
|
|
- if(state.pageStatus==6){pageName = "page";}
|
|
|
- if(state.pageStatus==7){pageName = "page";}
|
|
|
+ let pageName = getPageName();
|
|
|
let ad_index = Number(index)+1;
|
|
|
let ad_tag = `${state.adKey}_${pageName}_${ad_index}`;
|
|
|
clonedData.data[index].content.ad.website_id = state.editWebsiteId;
|
|
@@ -1246,6 +1280,9 @@ const mutations = {
|
|
|
state.webSiteData.ad[data.type].push(clonedData.data[index].content.ad);
|
|
|
}
|
|
|
}
|
|
|
+ //设置全局的广告位名称
|
|
|
+ state.webSiteData.ad.top.website_id = state.editWebsiteId;
|
|
|
+ state.webSiteData.ad.top.ad_tag = `${state.adKey}_top`
|
|
|
|
|
|
let websiteData = [];
|
|
|
// 获取板块的 sort
|
|
@@ -1272,22 +1309,54 @@ const mutations = {
|
|
|
},
|
|
|
//保存模板
|
|
|
saveTemplate(state) {
|
|
|
- //临时展示保存的数据 后期移除
|
|
|
- state.editWebsiteTemplateJsonWindow = true;
|
|
|
- //调用mutations中的方法无需使用$store
|
|
|
- //每次格式化之前先清理广告位数据
|
|
|
- this.commit('template/clearAd');
|
|
|
- //格式化index的信息
|
|
|
- this.commit('template/formatTemplateInfo', { data: state.pageData.index, type: "index" });
|
|
|
- //格式化list的信息
|
|
|
- this.commit('template/formatTemplateInfo', { data: state.pageData.list, type: "list" });
|
|
|
- //格式化article的信息
|
|
|
- this.commit('template/formatTemplateInfo', { data: state.pageData.article, type: "article" });
|
|
|
- // console.log(state.webSiteData);
|
|
|
- // console.log(state.editWebsiteId)
|
|
|
- //给与网站id和模板风格id
|
|
|
+ //第一步:
|
|
|
+ //保存网站id和模板风格id
|
|
|
state.webSiteData.base.websiteId = state.editWebsiteId;
|
|
|
state.webSiteData.style.styleId = state.editWebsiteClass;
|
|
|
+ //第二步:
|
|
|
+ //格式化数据
|
|
|
+ //2.1 清理广告位数据
|
|
|
+ this.commit('template/clearAd');
|
|
|
+ //2.2 格式化index页面数据
|
|
|
+ this.commit('template/formatTemplateInfo', { data: state.pageData.index, type: "index" });
|
|
|
+ //2.3 格式化list的信息
|
|
|
+ //this.commit('template/formatTemplateInfo', { data: state.pageData.list, type: "list" });
|
|
|
+ //3.4 格式化article的信息
|
|
|
+ //this.commit('template/formatTemplateInfo', { data: state.pageData.article, type: "article" });
|
|
|
+ //展示构造json 后期移除
|
|
|
+ state.editWebsiteTemplateJsonWindow = true;
|
|
|
+
|
|
|
+ //第三步:
|
|
|
+ //检测模板数据完整度,如果不完整阻止用户保存
|
|
|
+ this.commit('template/pageCheck', {data: state.pageData});
|
|
|
+ },
|
|
|
+ //检测模板完整度
|
|
|
+ pageCheck(state, data) {
|
|
|
+ //获得首页板块数量
|
|
|
+ state.pageDataStatus.index.sector = data.data.index.length;
|
|
|
+ //获得首页没有设置导航池的板块数量
|
|
|
+ let noCid = 0;
|
|
|
+ for(let index in data.data.index){
|
|
|
+ for(let i in data.data.index[index].content.componentList){
|
|
|
+ //console.log(data.data.index[index].content.componentList[i].componentData.category_id)
|
|
|
+ if(data.data.index[index].content.componentList[i].componentData.category_id!=undefined){
|
|
|
+ noCid++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ state.pageDataStatus.index.cid = noCid;
|
|
|
+ //获得首页没有设置广告名称的组件数量
|
|
|
+ let noAd = 0;
|
|
|
+ for(let index in data.data.index){
|
|
|
+ //console.log(data.data.index[index].content.ad)
|
|
|
+ if(data.data.index[index].content.ad!=undefined){
|
|
|
+ if(data.data.index[index].content.ad.name==""){
|
|
|
+ noAd++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //console.log(noAd)
|
|
|
+ state.pageDataStatus.index.ad = noAd;
|
|
|
},
|
|
|
//随机生成模板
|
|
|
randomTemplate(state) {
|