template.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. import {getSiteInfo,getSiteCategory,selectWebsiteDepartment,selectWebsiteArea,getWebsiteArticlesList,
  2. selectWebsiteArticleInfo} from '@/api/cms'
  3. const state = {
  4. editWebsiteId: "",//创建网站的id
  5. stepStatus: true,//true显示步骤 false不显示
  6. menuType: "sector", //sector板块 component组件
  7. layout: [
  8. // i = id
  9. // w = 最大宽度是12
  10. // { i: "0", x: 0, y: 0, w: 12, h: 2, content:""},
  11. // { i: "1", x: 0, y: 0, w: 12, h: 2, content:""},
  12. ],
  13. webSiteInfo:"",//网站信息
  14. webSiteMenu:"",//网站包含的导航池
  15. area:{//地区
  16. economize:[],//省区
  17. market:[],//市区
  18. county:[]//县区
  19. },
  20. departmentList:"",//职能部门
  21. }
  22. const mutations = {
  23. //0.全局配置 start------------------------------------------------------------>
  24. //设置创建网站的id
  25. setEditWebsiteId(state,id){
  26. state.editWebsiteId = id;
  27. },
  28. //展示步骤
  29. showStepStatus(state){
  30. state.stepStatus = true;
  31. },
  32. //隐藏步骤
  33. hiddenStepStatus(state){
  34. state.stepStatus = false;
  35. },
  36. //0.全局配置 start------------------------------------------------------------>
  37. //1.配置模块 start------------------------------------------------------------>
  38. //添加模块
  39. addModule(state,data) {
  40. //data.type 组件名称 data.h 模块高度
  41. // 计算当前布局的最大 y 值
  42. const maxY = Math.max(...state.layout.map(item => item.y), 0);
  43. state.layout.push({
  44. i: state.layout.length,
  45. x: 0,
  46. y: maxY + 1,
  47. w: 12,
  48. h: data.h,
  49. type: data.type,
  50. content:""
  51. });
  52. },
  53. //删除模块
  54. deleteModule(item) {
  55. //找到对应的模块删除掉
  56. for(let i = 0; i < state.layout.length; i++) {
  57. if(state.layout[i].i == item.i) {
  58. state.layout.splice(i, 1);
  59. }
  60. }
  61. },
  62. //1.配置模块 end------------------------------------------------------------>
  63. //2.获取站点信息 start------------------------------------------------------------>
  64. //获取站点详情
  65. setWebsiteInfo(state,data){
  66. state.webSiteInfo = data;
  67. },
  68. //获取站点导航池
  69. setGetSiteCategory(state,data) {
  70. state.webSiteMenu = data;
  71. },
  72. //设置地区
  73. setArea(state,data){
  74. //都没有的时候返回的是省
  75. if(data.province==undefined){
  76. state.area.economize = data;
  77. }
  78. //没有region的时候返回的是市
  79. if(data.province!=undefined&&data.city!=undefined&&data.region==undefined){
  80. state.area.market = data.city;
  81. }
  82. //有region的时候返回的是县
  83. if(data.province!=undefined&&data.city!=undefined&&data.region!=undefined){
  84. state.area.county = data.region;
  85. }
  86. },
  87. //设置职能部门
  88. setDepartmentList(state,data){
  89. state.departmentList = data;
  90. },
  91. //修改模块高度
  92. setModuleHeight(state,data){
  93. console.log(data);
  94. state.layout[data.i].h = data.h;
  95. console.log(state.layout[data.i]);
  96. },
  97. //2.获取站点信息 end------------------------------------------------------------>
  98. }
  99. const actions = {
  100. //获取网站基本信息
  101. getSiteInfo({commit},data){
  102. return new Promise((resolve, reject) => {
  103. getSiteInfo(data).then(response => {
  104. commit('setWebsiteInfo', response.data);
  105. resolve(response)
  106. }).catch(error => {
  107. reject(error)
  108. })
  109. })
  110. },
  111. //获取网站导航池
  112. getSiteCategory({commit},data){
  113. return new Promise((resolve, reject) => {
  114. getSiteCategory(data).then(response => {
  115. commit('setGetSiteCategory', response.data);
  116. resolve(response)
  117. }).catch(error => {
  118. reject(error)
  119. })
  120. })
  121. },
  122. //设置行政区划
  123. selectWebsiteArea({commit},data){
  124. return new Promise((resolve, reject) => {
  125. selectWebsiteArea(data).then(response => {
  126. commit('setArea', response.data);
  127. resolve(response)
  128. }).catch(error => {
  129. reject(error)
  130. })
  131. })
  132. },
  133. //设置职能部门
  134. selectWebsiteDepartment({commit},data){
  135. return new Promise((resolve, reject) => {
  136. selectWebsiteDepartment(data).then(response => {
  137. commit('setDepartmentList', response.data);
  138. resolve(response)
  139. }).catch(error => {
  140. reject(error)
  141. })
  142. })
  143. },
  144. //获取新闻列表
  145. getWebsiteArticlesList({commit},data){
  146. return new Promise((resolve, reject) => {
  147. getWebsiteArticlesList(data).then(response => {
  148. resolve(response)
  149. }).catch(error => {
  150. reject(error)
  151. })
  152. })
  153. },
  154. //获取新闻详情
  155. selectWebsiteArticleInfo({commit},data){
  156. return new Promise((resolve, reject) => {
  157. selectWebsiteArticleInfo(data).then(response => {
  158. resolve(response)
  159. }).catch(error => {
  160. reject(error)
  161. })
  162. })
  163. }
  164. }
  165. export default {
  166. namespaced: true,
  167. state,
  168. mutations,
  169. actions
  170. }