import {getSiteInfo,getSiteCategory,selectWebsiteDepartment,selectWebsiteArea,getWebsiteArticlesList, selectWebsiteArticleInfo} from '@/api/cms' const state = { editWebsiteId: "",//创建网站的id stepStatus: true,//true显示步骤 false不显示 menuType: "sector", //sector板块 component组件 layout: [ // i = id // w = 最大宽度是12 // { i: "0", x: 0, y: 0, w: 12, h: 2, content:""}, // { i: "1", x: 0, y: 0, w: 12, h: 2, content:""}, ], webSiteInfo:"",//网站信息 webSiteMenu:"",//网站包含的导航池 area:{//地区 economize:[],//省区 market:[],//市区 county:[]//县区 }, departmentList:"",//职能部门 } const mutations = { //0.全局配置 start------------------------------------------------------------> //设置创建网站的id setEditWebsiteId(state,id){ state.editWebsiteId = id; }, //展示步骤 showStepStatus(state){ state.stepStatus = true; }, //隐藏步骤 hiddenStepStatus(state){ state.stepStatus = false; }, //0.全局配置 start------------------------------------------------------------> //1.配置模块 start------------------------------------------------------------> //添加模块 addModule(state,data) { //data.type 组件名称 data.h 模块高度 // 计算当前布局的最大 y 值 const maxY = Math.max(...state.layout.map(item => item.y), 0); state.layout.push({ i: state.layout.length, x: 0, y: maxY + 1, w: 12, h: data.h, type: data.type, content:"" }); }, //删除模块 deleteModule(item) { //找到对应的模块删除掉 for(let i = 0; i < state.layout.length; i++) { if(state.layout[i].i == item.i) { state.layout.splice(i, 1); } } }, //1.配置模块 end------------------------------------------------------------> //2.获取站点信息 start------------------------------------------------------------> //获取站点详情 setWebsiteInfo(state,data){ state.webSiteInfo = data; }, //获取站点导航池 setGetSiteCategory(state,data) { state.webSiteMenu = data; }, //设置地区 setArea(state,data){ //都没有的时候返回的是省 if(data.province==undefined){ state.area.economize = data; } //没有region的时候返回的是市 if(data.province!=undefined&&data.city!=undefined&&data.region==undefined){ state.area.market = data.city; } //有region的时候返回的是县 if(data.province!=undefined&&data.city!=undefined&&data.region!=undefined){ state.area.county = data.region; } }, //设置职能部门 setDepartmentList(state,data){ state.departmentList = data; }, //修改模块高度 setModuleHeight(state,data){ console.log(data); state.layout[data.i].h = data.h; console.log(state.layout[data.i]); }, //2.获取站点信息 end------------------------------------------------------------> } const actions = { //获取网站基本信息 getSiteInfo({commit},data){ return new Promise((resolve, reject) => { getSiteInfo(data).then(response => { commit('setWebsiteInfo', response.data); resolve(response) }).catch(error => { reject(error) }) }) }, //获取网站导航池 getSiteCategory({commit},data){ return new Promise((resolve, reject) => { getSiteCategory(data).then(response => { commit('setGetSiteCategory', response.data); resolve(response) }).catch(error => { reject(error) }) }) }, //设置行政区划 selectWebsiteArea({commit},data){ return new Promise((resolve, reject) => { selectWebsiteArea(data).then(response => { commit('setArea', response.data); resolve(response) }).catch(error => { reject(error) }) }) }, //设置职能部门 selectWebsiteDepartment({commit},data){ return new Promise((resolve, reject) => { selectWebsiteDepartment(data).then(response => { commit('setDepartmentList', response.data); resolve(response) }).catch(error => { reject(error) }) }) }, //获取新闻列表 getWebsiteArticlesList({commit},data){ return new Promise((resolve, reject) => { getWebsiteArticlesList(data).then(response => { resolve(response) }).catch(error => { reject(error) }) }) }, //获取新闻详情 selectWebsiteArticleInfo({commit},data){ return new Promise((resolve, reject) => { selectWebsiteArticleInfo(data).then(response => { resolve(response) }).catch(error => { reject(error) }) }) } } export default { namespaced: true, state, mutations, actions }