Ver código fonte

完成在线留言

完成在线留言
dangyunlong 4 dias atrás
pai
commit
199eb323f3

+ 470 - 413
src/api/news.js

@@ -4,114 +4,114 @@ import request from '@/utils/request'
 
 //1.1 获取资讯列表
 export function getArticleList(params) {
-  return request({
-    url: '/news/getArticleList',
-    method: 'get',
-    params
-  })
+    return request({
+        url: '/news/getArticleList',
+        method: 'get',
+        params
+    })
 }
 
 //1.2 添加资讯
 export function addArticle(data) {
-  return request({
-    url: '/news/addArticle',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/addArticle',
+        method: 'post',
+        data
+    })
 }
 
 //1.3 删除资讯
 export function delArticle(data) {
-  return request({
-    url: '/news/delArticle',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/delArticle',
+        method: 'post',
+        data
+    })
 }
 
 //1.4 查看资讯
 export function getArticleInfo(params) {
-  return request({
-    url: '/news/getArticleInfo',
-    method: 'get',
-    params
-  })
+    return request({
+        url: '/news/getArticleInfo',
+        method: 'get',
+        params
+    })
 }
 
 //1.5 修改资讯内容
 export function updateArticle(data) {
-  return request({
-    url: '/news/updateArticle',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/updateArticle',
+        method: 'post',
+        data
+    })
 }
 
 //1.5 修改资讯状态
 export function upArticleStatus(data) {
-  return request({
-    url: '/news/upArticleStatus',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/upArticleStatus',
+        method: 'post',
+        data
+    })
 }
 //1.7 手动推荐资讯
 export function getArticleCommend(params) {
-  return request({
-    url: '/news/getArticleCommend',
-    method: 'get',
-    params
-  })
+    return request({
+        url: '/news/getArticleCommend',
+        method: 'get',
+        params
+    })
 }
 //20250226  产品列表
 export function getGoodList(params) {
-  return request({
-    url: '/news/getGoodList',
-    method: 'post',
-    params
-  })
+    return request({
+        url: '/news/getGoodList',
+        method: 'post',
+        params
+    })
 }
 export function addGood(data) {
-  return request({
-    url: '/news/addGood',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/addGood',
+        method: 'post',
+        data
+    })
 }
 export function delGood(data) {
-  return request({
-    url: '/news/delGood',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/delGood',
+        method: 'post',
+        data
+    })
 }
 export function getGoodInfo(params) {
-  return request({
-    url: '/news/getGoodInfo',
-    method: 'post',
-    params
-  })
+    return request({
+        url: '/news/getGoodInfo',
+        method: 'post',
+        params
+    })
 }
 export function updateGood(data) {
-  return request({
-    url: '/news/updateGood',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/updateGood',
+        method: 'post',
+        data
+    })
 }
 export function websiteList(params) {
-  return request({
-    url: '/website/getWebsiteList',
-    method: 'get',
-    params
-  })
+    return request({
+        url: '/website/getWebsiteList',
+        method: 'get',
+        params
+    })
 }
 export function getWebsiteNavList(data) {
-  return request({
-    url: '/website/getWebsiteNavList',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/website/getWebsiteNavList',
+        method: 'post',
+        data
+    })
 }
 
 //20250226  产品列表
@@ -119,82 +119,82 @@ export function getWebsiteNavList(data) {
 
 //20250306求职
 export function getJobHuntingList(params) {
-  return request({
-    url: '/news/getJobHuntingList',
-    method: 'post',
-    params
-  })
+    return request({
+        url: '/news/getJobHuntingList',
+        method: 'post',
+        params
+    })
 }
 export function addJobHunting(data) {
-  return request({
-    url: '/news/addJobHunting',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/addJobHunting',
+        method: 'post',
+        data
+    })
 }
 export function delJobHunting(data) {
-  return request({
-    url: '/news/delJobHunting',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/delJobHunting',
+        method: 'post',
+        data
+    })
 }
 export function getJobHuntingInfo(data) {
-  return request({
-    url: '/news/getJobHuntingInfo',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/getJobHuntingInfo',
+        method: 'post',
+        data
+    })
 }
 export function updateJobHunting(data) {
-  return request({
-    url: '/news/updateJobHunting',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/updateJobHunting',
+        method: 'post',
+        data
+    })
 }
 export function getJobHuntingData(data) {
-  return request({
-    url: '/news/getJobHuntingData',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/getJobHuntingData',
+        method: 'post',
+        data
+    })
 }
 export function updateGoodStatus(data) {
-  return request({
-    url: '/news/updateGoodStatus',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/updateGoodStatus',
+        method: 'post',
+        data
+    })
 }
 export function updateJobHuntingStatus(data) {
-  return request({
-    url: '/news/updateJobHuntingStatus',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/updateJobHuntingStatus',
+        method: 'post',
+        data
+    })
 }
 export function updateNoticeStatus(data) {
-  return request({
-    url: '/news/updateNoticeStatus',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/updateNoticeStatus',
+        method: 'post',
+        data
+    })
 }
 export function updateComplaintStatus(data) {
-  return request({
-    url: '/news/updateComplaintStatus',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/updateComplaintStatus',
+        method: 'post',
+        data
+    })
 }
 export function getDUser(data) {
-  return request({
-    url: '/news/getDUser',
-    method: 'post',
-    data
-  })
-  
+    return request({
+        url: '/news/getDUser',
+        method: 'post',
+        data
+    })
+
 }
 
 //20250306求职
@@ -202,365 +202,422 @@ export function getDUser(data) {
 
 //待审核列表
 export function getWebsiteNavPool(data) {
-  return request({
-    url: '/website/getWebsiteNavPool',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/website/getWebsiteNavPool',
+        method: 'post',
+        data
+    })
 }
 export function getWebsiteNavPoolSite(data) {
-  return request({
-    url: '/website/getWebsiteNavPoolSite',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/website/getWebsiteNavPoolSite',
+        method: 'post',
+        data
+    })
 }
 //2.投票列表 start  fr ------------------------------------->
 
 //2.1 获取投票列表
 export function getSurveyList(params) {
-  return request({
-    url: '/news/getSurveyList',
-    method: 'post',
-    params
-  })
+    return request({
+        url: '/news/getSurveyList',
+        method: 'post',
+        params
+    })
 }
 
 //2.2 获取投票详情
 export function getSurveyInfo(data) {
-  return request({
-    url: '/news/getSurveyInfo',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/getSurveyInfo',
+        method: 'post',
+        data
+    })
 }
 // 2.投票列表 end  fr ------------------------------------->
 
 //20250324  通知,公告,消息
 export function getNoticeList(data) {
-  return request({
-    url: '/news/getNoticeList',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/getNoticeList',
+        method: 'post',
+        data
+    })
 }
 // 行政通知
 export function noticeList(data) {
-  return request({
-    url: '/news/noticeList',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/noticeList',
+        method: 'post',
+        data
+    })
 }
 // 行政投诉
 export function complaintList(data) {
-  return request({
-    url: '/news/complaintList',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/complaintList',
+        method: 'post',
+        data
+    })
 }
 //行政通知已读
 export function readNotice(data) {
-  return request({
-    url: '/news/readNotice',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/readNotice',
+        method: 'post',
+        data
+    })
 }
 
 // 行政投诉已读
 export function readComplaint(data) {
-  return request({
-    url: '/news/readComplaint',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/readComplaint',
+        method: 'post',
+        data
+    })
 }
 
 export function getNoticeInfo(data) {
-  return request({
-    url: '/news/getNoticeInfo',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/getNoticeInfo',
+        method: 'post',
+        data
+    })
 }
 export function addNotice(data) {
-  return request({
-    url: '/news/addNotice',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/addNotice',
+        method: 'post',
+        data
+    })
 }
 export function updateNotice(data) {
-  return request({
-    url: '/news/updateNotice',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/updateNotice',
+        method: 'post',
+        data
+    })
 }
 export function deleteNotice(data) {
-  return request({
-    url: '/news/deleteNotice',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/deleteNotice',
+        method: 'post',
+        data
+    })
 }
 export function getMSG(data) {
-  return request({
-    url: '/news/getMSG',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/getMSG',
+        method: 'post',
+        data
+    })
 }
 export function getComplaintList(data) {
-  return request({
-    url: '/news/getComplaintList',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/getComplaintList',
+        method: 'post',
+        data
+    })
 }
 export function getComplaintInfo(data) {
-  return request({
-    url: '/news/getComplaintInfo',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/getComplaintInfo',
+        method: 'post',
+        data
+    })
 }
 export function addComplaint1(data) {
-  return request({
-    url: '/news/addComplaint',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/addComplaint',
+        method: 'post',
+        data
+    })
 }
 export function updateComplaint(data) {
-  return request({
-    url: '/news/updateComplaint',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/updateComplaint',
+        method: 'post',
+        data
+    })
 }
 export function deleteComplaint(data) {
-  return request({
-    url: '/news/deleteComplaint',
-    method: 'post',
-    data
-  })
+    return request({
+        url: '/news/deleteComplaint',
+        method: 'post',
+        data
+    })
 }
 //20250324  通知,公告,消息
- //20250422  书刊音像
+//20250422  书刊音像
 
 export function getBookList(data) {
-  return request({
-    url: '/news/getBookList',
-    method: 'post',
-    data:data 
-  })
+    return request({
+        url: '/news/getBookList',
+        method: 'post',
+        data: data
+    })
 }
 export function addBook(data) {
-  return request({
-    url: '/news/addBook',
-    method: 'post',
-    data:data 
-  })
+    return request({
+        url: '/news/addBook',
+        method: 'post',
+        data: data
+    })
 }
 export function deleteBook(data) {
-  return request({
-    url: '/news/deleteBook',
-    method: 'post',
-    data:data  
-  })
+    return request({
+        url: '/news/deleteBook',
+        method: 'post',
+        data: data
+    })
 }
 export function getBookInfo(data) {
-  return request({
-    url: '/news/getBookInfo',
-    method: 'post',
-    data:data 
-  })
+    return request({
+        url: '/news/getBookInfo',
+        method: 'post',
+        data: data
+    })
 }
 export function updateBook(data) {
-  return request({
-    url: '/news/updateBook',
-    method: 'post',
-    data:data 
-  })
+    return request({
+        url: '/news/updateBook',
+        method: 'post',
+        data: data
+    })
 
 }
 export function updateBookStatus(data) {
-  return request({
-    url: '/news/updateBookStatus',
-    method: 'post',
-    data:data 
-  })
+    return request({
+        url: '/news/updateBookStatus',
+        method: 'post',
+        data: data
+    })
 }
 export function getJobHuntingApply(data) {
-  return request({
-    url: '/news/getJobHuntingApply',
-    method: 'post',
-    data:data 
-  })
+    return request({
+        url: '/news/getJobHuntingApply',
+        method: 'post',
+        data: data
+    })
 }
 export function myApplyList(data) {
-  return request({
-    url: '/news/myApplyList',
-    method: 'post',
-    data:data 
-  })
+    return request({
+        url: '/news/myApplyList',
+        method: 'post',
+        data: data
+    })
 }
-  //20250422  书刊音像
+//20250422  书刊音像
 //招聘列表 start  fr ------------------------------------->
 
 //1.获取职位列表
 export function getJobRecruitingList(params) {
     return request({
-    url: '/news/getJobRecruitingList',
-    method: 'get',
-    params
-   })
-  }
-  //2.添加职位
-  export function addJobRecruiting(data) {
-    return request({
-    url: '/news/addJobRecruiting',
-    method: 'post',
-    data
-   })
-  }
-  // 3.获取职位详情
-  export function getJobRecruitingInfo(params) {
-    return request({
-    url: '/news/getJobRecruitingInfo',
-    method: 'get',
-    params
-   }) 
-  }
-  //4.修改职位
-  export function upJobRecruiting(data) {
-    return request({
-    url: '/news/upJobRecruiting',
-    method: 'post',
-    data
-   })
-  }
-  // 5.删除职位
-  export function delJobRecruiting(data) {
-    return request({
-    url: '/news/delJobRecruiting',
-    method: 'post',
-    data
-   })
-  }
-  // 6.获取公司信息
-  export function getJobCompany(params) {
-    return request({
-    url: '/news/getJobCompany',
-    method: 'get',
-    params
-   })
-  }
-  // 7.修改公司信息
-  export function upJobCompany(data) {
-    return request({
-    url: '/news/upJobCompany',
-    method: 'post',
-    data
-   }) 
-  }
-  // 2.1 获取行业分类
-  export function getIndustry(params) {
-    return request({
-    url: '/news/getIndustry',
-    method: 'get',
-    params
-   })
-  }
-  //2.2 获取职位分类
-  export function getPositionList(params) {
-    return request({
-    url: '/news/getPositionList',
-    method: 'get',
-    params
-   })
-  }
-  //2.3 获取地区
-  export function getJobRecruitingArea(params) {
-    return request({
-    url: '/news/getJobRecruitingArea',
-    method: 'get',
-    params
-   })
-  }
-  //2.4 获取职位性质
-  export function getJobNature(params) {
-    return request({
-    url: '/news/getJobNature',
-    method: 'get',
-    params
-   })
-  }
-  //2.5 获取工作经验
-  export function getExperience(params) {
-    return request({
-    url: '/news/getExperience',
-    method: 'get',
-    params
-   })
-  }
-  //2.6 获取学历
-  export function getEducation(params) {
-    return request({
-    url: '/news/getEducation',
-    method: 'get',
-    params
-   }) 
-  }
-  //2.7 获取薪资
-  export function getSalary(params) {
-    return request({
-    url: '/news/getSalary',
-    method: 'get',
-    params
-   }) 
-  }
-  //2.8 获取语种
-  export function getLanguage(params) {
-    return request({
-    url: '/news/getLanguage',
-    method: 'get',
-    params
-   }) 
-  }
-  //2.9 获取语言能力
-  export function getLevel(params) {
-    return request({
-    url: '/news/getLevel',
-    method: 'get',
-    params
-   })
-  }
-  //2.10 获取公司规模
-  export function getCompanySize(params) {
-    return request({
-    url: '/news/getCompanySize',
-    method: 'get',
-    params
-   })
-  }
-  //2.11 获取公司性质
-  export function getCompanyNature(params) {
-    return request({
-    url: '/news/getCompanyNature',
-    method: 'get',
-    params
-   })
-  }
-  // 8.修改职位信息状态(审核通过、拒绝、撤回)
-  export function checkJobRecruiting(data) {
-    return request({
-    url: '/news/checkJobRecruiting',
-    method: 'post',
-    data
-   }) 
-  }
-  // 招聘列表 end  fr ------------------------------------->
+        url: '/news/getJobRecruitingList',
+        method: 'get',
+        params
+    })
+}
+//2.添加职位
+export function addJobRecruiting(data) {
+    return request({
+        url: '/news/addJobRecruiting',
+        method: 'post',
+        data
+    })
+}
+// 3.获取职位详情
+export function getJobRecruitingInfo(params) {
+    return request({
+        url: '/news/getJobRecruitingInfo',
+        method: 'get',
+        params
+    })
+}
+//4.修改职位
+export function upJobRecruiting(data) {
+    return request({
+        url: '/news/upJobRecruiting',
+        method: 'post',
+        data
+    })
+}
+// 5.删除职位
+export function delJobRecruiting(data) {
+    return request({
+        url: '/news/delJobRecruiting',
+        method: 'post',
+        data
+    })
+}
+// 6.获取公司信息
+export function getJobCompany(params) {
+    return request({
+        url: '/news/getJobCompany',
+        method: 'get',
+        params
+    })
+}
+// 7.修改公司信息
+export function upJobCompany(data) {
+    return request({
+        url: '/news/upJobCompany',
+        method: 'post',
+        data
+    })
+}
+// 2.1 获取行业分类
+export function getIndustry(params) {
+    return request({
+        url: '/news/getIndustry',
+        method: 'get',
+        params
+    })
+}
+//2.2 获取职位分类
+export function getPositionList(params) {
+    return request({
+        url: '/news/getPositionList',
+        method: 'get',
+        params
+    })
+}
+//2.3 获取地区
+export function getJobRecruitingArea(params) {
+    return request({
+        url: '/news/getJobRecruitingArea',
+        method: 'get',
+        params
+    })
+}
+//2.4 获取职位性质
+export function getJobNature(params) {
+    return request({
+        url: '/news/getJobNature',
+        method: 'get',
+        params
+    })
+}
+//2.5 获取工作经验
+export function getExperience(params) {
+    return request({
+        url: '/news/getExperience',
+        method: 'get',
+        params
+    })
+}
+//2.6 获取学历
+export function getEducation(params) {
+    return request({
+        url: '/news/getEducation',
+        method: 'get',
+        params
+    })
+}
+//2.7 获取薪资
+export function getSalary(params) {
+    return request({
+        url: '/news/getSalary',
+        method: 'get',
+        params
+    })
+}
+//2.8 获取语种
+export function getLanguage(params) {
+    return request({
+        url: '/news/getLanguage',
+        method: 'get',
+        params
+    })
+}
+//2.9 获取语言能力
+export function getLevel(params) {
+    return request({
+        url: '/news/getLevel',
+        method: 'get',
+        params
+    })
+}
+//2.10 获取公司规模
+export function getCompanySize(params) {
+    return request({
+        url: '/news/getCompanySize',
+        method: 'get',
+        params
+    })
+}
+//2.11 获取公司性质
+export function getCompanyNature(params) {
+    return request({
+        url: '/news/getCompanyNature',
+        method: 'get',
+        params
+    })
+}
+// 8.修改职位信息状态(审核通过、拒绝、撤回)
+export function checkJobRecruiting(data) {
+    return request({
+        url: '/news/checkJobRecruiting',
+        method: 'post',
+        data
+    })
+}
+//3 留言
+//3.1 留言列表
+export function getMessageList(params) {
+    return request({
+        url: '/news/getMessageList',
+        method: 'get',
+        params
+    })
+}
+//3.2 留言详情
+export function getMessageInfo(params) {
+    return request({
+        url: '/news/getMessageInfo',
+        method: 'get',
+        params
+    })
+}
+//3.3 修改留言状态
+export function upMessageStatus(data) {
+    return request({
+        url: '/news/upMessageStatus',
+        method: 'post',
+        data
+    })
+}
+//3.4 删除留言
+export function delMessage(data) {
+    return request({
+        url: '/news/delMessage',
+        method: 'post',
+        data
+    })
+}
+//3.5 修改留言
+export function upMessage(data) {
+    return request({
+        url: '/news/upMessage',
+        method: 'post',
+        data
+    })
+}
+//3.6 添加留言
+export function addMessage(data) {
+    return request({
+        url: '/news/addMessage',
+        method: 'post',
+        data
+    })
+}
+//3.7 验证普通会员是否可编辑
+export function checkMessageEdit(data) {
+    return request({
+        url: '/news/checkMessageEdit',
+        method: 'post',
+        data
+    })
+}
+// 招聘列表 end  fr ------------------------------------->

+ 2 - 2
src/components/InputTag/index.vue

@@ -50,7 +50,7 @@ export default {
         initialTags: {
             type: Array,
             default: () => []
-        }
+        },
     },
     data() {
         return {
@@ -87,4 +87,4 @@ export default {
         }
     }
 };
-</script>
+</script>

+ 3 - 1
src/router/index.js

@@ -12,6 +12,7 @@ import chartsRouter from './modules/charts'
 import tableRouter from './modules/table'
 import nestedRouter from './modules/nested'
 import dangyunlong from './modules/dangyunlong'
+import zx from './modules/zx'
 
 /**
  * Note: sub-menu only appear when route children.length >= 1
@@ -41,6 +42,7 @@ import dangyunlong from './modules/dangyunlong'
  */
 export const constantRoutes = [
   ...dangyunlong,
+  ...zx,
   {
     path: '/redirect',
     component: Layout,
@@ -1956,4 +1958,4 @@ export function resetRouter() {
   router.matcher = newRouter.matcher // reset router
 }
 
-export default router
+export default router

+ 55 - 0
src/router/modules/zx.js

@@ -0,0 +1,55 @@
+/** 引入模板 **/
+import Layout from '@/layout'
+
+const zx= [
+    //留言
+    {
+        path: '/messageList',
+        component: Layout,
+        children: [
+            {
+                name: '',
+                path: '',
+                component: () => import('@/views/news/messageList'),
+                meta: {
+                    title: '留言列表',
+                    hidden: true,
+                    breadcrumb: true
+                }
+            }
+        ]
+    },
+    {
+        path: '/messageReviewList',
+        component: Layout,
+        children: [
+            {
+                name: '',
+                path: '',
+                component: () => import('@/views/news/messageReviewList'),
+                meta: {
+                    title: '待审核列表',
+                    hidden: true,
+                    breadcrumb: true
+                }
+            }
+        ]
+    },
+    {
+        path: '/messageCreat',
+        component: Layout,
+        children: [
+            {
+                name: '',
+                path: '',
+                component: () => import('@/views/news/messageCreat'),
+                meta: {
+                    title: '添加留言',
+                    hidden: true,
+                    breadcrumb: true
+                }
+            }
+        ]
+    }
+]
+export default zx

+ 825 - 758
src/store/modules/news.js

@@ -1,13 +1,15 @@
 import { addComplaint } from '@/api/complaint'
-import { getArticleList, addArticle, delArticle, getArticleInfo, updateArticle, upArticleStatus, getGoodList, addGood, delGood,
-  getGoodInfo, updateGood, websiteList, getWebsiteNavList, getWebsiteNavPool, getWebsiteNavPoolSite,
-  getSurveyList,getSurveyInfo, getJobHuntingList, getJobHuntingInfo,addJobHunting,delJobHunting,updateJobHunting,getJobHuntingData,
-  getComplaintList,
-  getComplaintInfo, updateComplaint, deleteComplaint,  addComplaint1,    getMSG,  getNoticeList, getNoticeInfo, addNotice, updateNotice, deleteNotice,
-  updateGoodStatus, updateJobHuntingStatus, updateNoticeStatus, updateComplaintStatus,getDUser,
-  noticeList,  complaintList, readComplaint, readNotice,
-  getJobRecruitingList, addJobRecruiting,getJobRecruitingInfo, upJobRecruiting, delJobRecruiting,getIndustry, getJobCompany, upJobCompany, getPositionList, getJobRecruitingArea, getJobNature, getExperience, getEducation, getSalary, getLanguage, getLevel, getCompanySize, getCompanyNature,checkJobRecruiting,
-  getBookList, getBookInfo, addBook, deleteBook, updateBook, updateBookStatus ,getJobHuntingApply ,myApplyList, getArticleCommend
+import {
+    getArticleList, addArticle, delArticle, getArticleInfo, updateArticle, upArticleStatus, getGoodList, addGood, delGood,
+    getGoodInfo, updateGood, websiteList, getWebsiteNavList, getWebsiteNavPool, getWebsiteNavPoolSite,
+    getSurveyList, getSurveyInfo, getJobHuntingList, getJobHuntingInfo, addJobHunting, delJobHunting, updateJobHunting, getJobHuntingData,
+    getComplaintList,
+    getComplaintInfo, updateComplaint, deleteComplaint, addComplaint1, getMSG, getNoticeList, getNoticeInfo, addNotice, updateNotice, deleteNotice,
+    updateGoodStatus, updateJobHuntingStatus, updateNoticeStatus, updateComplaintStatus, getDUser,
+    noticeList, complaintList, readComplaint, readNotice,
+    getJobRecruitingList, addJobRecruiting, getJobRecruitingInfo, upJobRecruiting, delJobRecruiting, getIndustry, getJobCompany, upJobCompany, getPositionList, getJobRecruitingArea, getJobNature, getExperience, getEducation, getSalary, getLanguage, getLevel, getCompanySize, getCompanyNature, checkJobRecruiting,
+    getBookList, getBookInfo, addBook, deleteBook, updateBook, updateBookStatus, getJobHuntingApply, myApplyList, getArticleCommend,
+    getMessageList, getMessageInfo, upMessageStatus, delMessage, upMessage, addMessage, checkMessageEdit
 } from '@/api/news'
 
 const state = {
@@ -19,773 +21,838 @@ const mutations = {
 }
 
 const actions = {
-  //1.资讯中心 start ---------------------------------------->
-  //获取资讯列表
-  getArticleList({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      getArticleList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  //添加资讯
-  addArticle({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      addArticle(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  //删除资讯
-  delArticle({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      delArticle(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  //获取资讯详情
-  getArticleInfo({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      getArticleInfo(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  //修改资讯内容
-  updateArticle({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      updateArticle(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  //修改资讯显示或隐藏
-  upArticleStatus({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      upArticleStatus(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getArticleCommend({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      getArticleCommend(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
+    //1.资讯中心 start ---------------------------------------->
+    //获取资讯列表
+    getArticleList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getArticleList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //添加资讯
+    addArticle({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            addArticle(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //删除资讯
+    delArticle({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            delArticle(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //获取资讯详情
+    getArticleInfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getArticleInfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //修改资讯内容
+    updateArticle({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            updateArticle(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //修改资讯显示或隐藏
+    upArticleStatus({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            upArticleStatus(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getArticleCommend({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getArticleCommend(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+
+    //资讯中心 end ---------------------------------------->
+
+    //20250226  产品列表
+    //获取产品列表
+    getGoodList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getGoodList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getGoodInfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getGoodInfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    addGood({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            addGood(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    delGood({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            delGood(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    updateGood({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            updateGood(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    websiteList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            websiteList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getWebsiteNavList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getWebsiteNavList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //20250226  产品列表
 
-  //资讯中心 end ---------------------------------------->
 
-  //20250226  产品列表
-  //获取产品列表
-  getGoodList({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      getGoodList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getGoodInfo({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      getGoodInfo(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  addGood({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      addGood(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  delGood({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      delGood(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  updateGood({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      updateGood(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  websiteList({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      websiteList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getWebsiteNavList({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      getWebsiteNavList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  //20250226  产品列表
+    //20250306  求职信息
+    getJobHuntingList
+        ({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getJobHuntingList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
 
+    getJobHuntingInfo
+        ({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getJobHuntingInfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+
+    addJobHunting
+        ({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            addJobHunting(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    delJobHunting
+        ({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            delJobHunting(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    updateJobHunting
+        ({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            updateJobHunting(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getJobHuntingData
+        ({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getJobHuntingData(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    updateGoodStatus
+        ({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            updateGoodStatus(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    updateJobHuntingStatus
+        ({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            updateJobHuntingStatus(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    updateNoticeStatus
+        ({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            updateNoticeStatus(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
 
-  //20250306  求职信息
-  getJobHuntingList
-  ({ commit }, data)  {
-    return new Promise((resolve, reject) => {
-      getJobHuntingList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
+    }
+    ,
+    updateComplaintStatus
+        ({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            updateComplaintStatus(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getComplaintList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getComplaintList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //行政通知
+    noticeList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            noticeList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //行政投诉
+    complaintList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            complaintList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 行政通知已读
+    readNotice({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            readNotice(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 行政投诉已读
+    readComplaint({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            readComplaint(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getComplaintInfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getComplaintInfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    updateComplaint({ commit }, data) {
 
-  getJobHuntingInfo
-  ({ commit }, data)  {
-    return new Promise((resolve, reject) => {
-      getJobHuntingInfo(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
+        return new Promise((resolve, reject) => {
+            updateComplaint(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
 
-  addJobHunting
-  ({ commit }, data)  {
-    return new Promise((resolve, reject) => {
-      addJobHunting(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  delJobHunting
-  ({ commit }, data)  {
-    return new Promise((resolve, reject) => {
-      delJobHunting(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  updateJobHunting
-  ({ commit }, data)  {
-    return new Promise((resolve, reject) => {
-      updateJobHunting(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getJobHuntingData
-  ({ commit }, data)  {
-    return new Promise((resolve, reject) => {
-      getJobHuntingData(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  updateGoodStatus
-  ({ commit }, data)  {
-    return new Promise((resolve, reject) => {
-      updateGoodStatus(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  updateJobHuntingStatus
-  ({ commit }, data)  {
-    return new Promise((resolve, reject) => {
-      updateJobHuntingStatus(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  updateNoticeStatus
-  ({ commit }, data)  {
-    return new Promise((resolve, reject) => {
-      updateNoticeStatus(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
+            })
+        })
+    }
+    ,
+    deleteComplaint({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            deleteComplaint(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    addComplaint({ commit }, data) {
 
-  }
-  ,
-  updateComplaintStatus
-  ({ commit }, data)  {
-    return new Promise((resolve, reject) => {
-      updateComplaintStatus(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getComplaintList({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      getComplaintList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    }) 
-  },
-  //行政通知
-  noticeList({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      noticeList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  //行政投诉
-  complaintList({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      complaintList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  // 行政通知已读
-  readNotice({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      readNotice(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  // 行政投诉已读
-  readComplaint({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      readComplaint(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getComplaintInfo({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      getComplaintInfo(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  updateComplaint({ commit }, data) {
-   
-    return new Promise((resolve, reject) => {
-      updateComplaint(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
- 
-      }) 
-    })
-  }
-,
-  deleteComplaint({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      deleteComplaint(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  addComplaint({ commit }, data) {
-    
-    return new Promise((resolve, reject) => {
-      addComplaint(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getDUser({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      getDUser(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  //20250306  求职信息
+        return new Promise((resolve, reject) => {
+            addComplaint(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getDUser({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getDUser(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //20250306  求职信息
 
 
 
-  getWebsiteNavPool({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      getWebsiteNavPool(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getWebsiteNavPoolSite({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      getWebsiteNavPoolSite(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-//1.投票列表 start   fr---------------------------------------->
-  //1.1获取投票列表
-  getSurveyList({commit},data) {
-    return new Promise((resolve, reject) => {
-      getSurveyList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  //1.2获取投票详情
-  getSurveyInfo({commit},data) {
-    return new Promise((resolve, reject) => {
-      getSurveyInfo(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
+    getWebsiteNavPool({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getWebsiteNavPool(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getWebsiteNavPoolSite({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getWebsiteNavPoolSite(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //1.投票列表 start   fr---------------------------------------->
+    //1.1获取投票列表
+    getSurveyList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getSurveyList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //1.2获取投票详情
+    getSurveyInfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getSurveyInfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
 
-  //1投票列表 end ---------------------------------------->
+    //1投票列表 end ---------------------------------------->
 
-  //20250324  通知,公告,消息
-  getNoticeList({commit},data) {
-    return new Promise((resolve, reject) => {
-      getNoticeList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getNoticeInfo({commit},data) {
-    return new Promise((resolve, reject) => {
-      getNoticeInfo(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-    },
-  addNotice({commit},data) {
-    return new Promise((resolve, reject) => {
-      addNotice(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  updateNotice({commit},data) {
-    return new Promise(
-      (resolve, reject) => {
-        updateNotice(data).then(response => {
-          resolve(response)
-        }).catch(error => {
-          reject(error)
+    //20250324  通知,公告,消息
+    getNoticeList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getNoticeList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
         })
+    },
+    getNoticeInfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getNoticeInfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    addNotice({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            addNotice(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    updateNotice({ commit }, data) {
+        return new Promise(
+            (resolve, reject) => {
+                updateNotice(data).then(response => {
+                    resolve(response)
+                }).catch(error => {
+                    reject(error)
+                })
 
-      }
-    )
-  },
-  deleteNotice({commit},data) {
-    return new Promise((resolve, reject) => {
-      deleteNotice(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getMSG({commit},data) {
-    return new Promise((resolve, reject) => {
-      getMSG(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getComplaintList({commit},data) {
-    return new Promise((resolve, reject) => {
-      getComplaintList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getComplaintInfo({ commit }, data) {
-    return new Promise((resolve, reject) => {
+            }
+        )
+    },
+    deleteNotice({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            deleteNotice(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getMSG({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getMSG(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getComplaintList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getComplaintList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getComplaintInfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
 
-      getComplaintInfo(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  updateComplaint({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      updateComplaint(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  deleteComplaint({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      deleteComplaint(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  addComplaint1({ commit }, data) {
-    return new Promise((resolve, reject) => {
-      addComplaint1(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  //20250324  通知,公告,消息
-   //20250422  书刊音像
-   getBookList({commit},data) {
-    return new Promise((resolve, reject) => {
-      getBookList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getBookInfo({commit},data) {
-    return new Promise((resolve, reject) => {
-      getBookInfo(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  addBook({commit},data) {
-    return new Promise((resolve, reject) => {
-      addBook(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  deleteBook({commit},data) {
-    return new Promise((resolve, reject) => {
-      deleteBook(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  updateBook({commit},data) {
-    return new Promise((resolve, reject) => {
-      updateBook(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  updateBookStatus({commit},data) {
-    return new Promise((resolve, reject) => {
-      updateBookStatus(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  getJobHuntingApply({commit},data) {
-    return new Promise((resolve, reject) => {
-      getJobHuntingApply(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
-  myApplyList({commit},data) {
-    return new Promise((resolve, reject) => {
-      myApplyList(data).then(response => {
-        resolve(response)
-      }).catch(error => {
-        reject(error)
-      })
-    })
-  },
+            getComplaintInfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    updateComplaint({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            updateComplaint(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    deleteComplaint({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            deleteComplaint(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    addComplaint1({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            addComplaint1(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //20250324  通知,公告,消息
+    //20250422  书刊音像
+    getBookList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getBookList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getBookInfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getBookInfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    addBook({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            addBook(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    deleteBook({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            deleteBook(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    updateBook({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            updateBook(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    updateBookStatus({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            updateBookStatus(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getJobHuntingApply({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getJobHuntingApply(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    myApplyList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            myApplyList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
     //20250422  书刊音像
-  //招聘列表 start  fr ------------------------------------->
-  //1.获取职位列表
-  getJobRecruitingList({commit},data) {
-        return new Promise((resolve, reject) => {
-          getJobRecruitingList(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      //2.添加职位
-      addJobRecruiting({commit},data) {
-        return new Promise((resolve, reject) => {
-          addJobRecruiting(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      // 3.获取职位详情
-      getJobRecruitingInfo({commit},data) {
-        return new Promise((resolve, reject) => {
-          getJobRecruitingInfo(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      //4.修改职位
-      upJobRecruiting({commit},data) {
-        return new Promise((resolve, reject) => {
-          upJobRecruiting(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        }) 
-      },
-      // 5.删除职位
-      delJobRecruiting({commit},data) {
-        return new Promise((resolve, reject) => {
-          delJobRecruiting(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      // 6.获取公司信息
-      getJobCompany({commit},data) {
-        return new Promise((resolve, reject) => {
-          getJobCompany(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        }) 
-      },
-      // 7.修改公司信息
-      upJobCompany({commit},data) {
-        return new Promise((resolve, reject) => {
-          upJobCompany(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      // 2.0 获取行业
-      getIndustry({commit},data) {
-        return new Promise((resolve, reject) => {
-          getIndustry(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      // 2.1 获取职位分类
-      getPositionList({commit},data) {
-        return new Promise((resolve, reject) => {
-          getPositionList(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      // 2.2 获取工作区域
-      getJobRecruitingArea({commit},data) {
-        return new Promise((resolve, reject) => {
-          getJobRecruitingArea(data).then(response => {
-            resolve(response) 
-          }) .catch(error => {
-            reject(error)
-          })
-        }) 
-      },
-      // 2.3 获取工作性质
-      getJobNature({commit},data) {
-        return new Promise((resolve, reject) => {
-          getJobNature(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      // 2.4 获取工作经验
-      getExperience({commit},data) {
-        return new Promise((resolve, reject) => {
-          getExperience(data).then(response => {
-            resolve(response) 
-          }) .catch(error => {
-            reject(error)
-          })
-        }) 
-      },
-      // 2.5 获取教育程度
-      getEducation({commit},data) {
-        return new Promise((resolve, reject) => {
-          getEducation(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      // 2.6 获取薪资
-      getSalary({commit},data) {
-        return new Promise((resolve, reject) => {
-          getSalary(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      // 2.7 获取语言
-      getLanguage({commit},data) {
-        return new Promise((resolve, reject) => {
-          getLanguage(data).then(response => {
-            resolve(response) 
-          }) .catch(error => {
-            reject(error)
-          })
-        }) 
-      },
-      // 2.8 获取级别
-      getLevel({commit},data) {
-        return new Promise((resolve, reject) => {
-          getLevel(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      // 2.9 获取公司规模
-      getCompanySize({commit},data) {
-        return new Promise((resolve, reject) => {
-          getCompanySize(data).then(response => {
-            resolve(response) 
-          }) .catch(error => {
-            reject(error)
-          })
-        }) 
-      },
-      // 2.10 获取公司性质
-      getCompanyNature({commit},data) {
-        return new Promise((resolve, reject) => {
-          getCompanyNature(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      // 8.修改职位信息状态(审核通过、拒绝、撤回)
-      checkJobRecruiting({commit},data) {
-        return new Promise((resolve, reject) => {
-          checkJobRecruiting(data).then(response => {
-            resolve(response)
-          }).catch(error => {
-            reject(error)
-          })
-        })
-      },
-      // 招聘列表 end  fr ------------------------------------->
+    //招聘列表 start  fr ------------------------------------->
+    //1.获取职位列表
+    getJobRecruitingList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getJobRecruitingList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //2.添加职位
+    addJobRecruiting({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            addJobRecruiting(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 3.获取职位详情
+    getJobRecruitingInfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getJobRecruitingInfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    //4.修改职位
+    upJobRecruiting({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            upJobRecruiting(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 5.删除职位
+    delJobRecruiting({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            delJobRecruiting(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 6.获取公司信息
+    getJobCompany({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getJobCompany(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 7.修改公司信息
+    upJobCompany({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            upJobCompany(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 2.0 获取行业
+    getIndustry({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getIndustry(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 2.1 获取职位分类
+    getPositionList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getPositionList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 2.2 获取工作区域
+    getJobRecruitingArea({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getJobRecruitingArea(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 2.3 获取工作性质
+    getJobNature({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getJobNature(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 2.4 获取工作经验
+    getExperience({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getExperience(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 2.5 获取教育程度
+    getEducation({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getEducation(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 2.6 获取薪资
+    getSalary({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getSalary(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 2.7 获取语言
+    getLanguage({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getLanguage(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 2.8 获取级别
+    getLevel({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getLevel(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 2.9 获取公司规模
+    getCompanySize({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getCompanySize(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 2.10 获取公司性质
+    getCompanyNature({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getCompanyNature(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 8.修改职位信息状态(审核通过、拒绝、撤回)
+    checkJobRecruiting({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            checkJobRecruiting(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 招聘列表 end  fr ------------------------------------->
+    // 留言 start ------------------------------------->
+    getMessageList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getMessageList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getMessageInfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getMessageInfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    upMessageStatus({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            upMessageStatus(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    delMessage({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            delMessage(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    upMessage({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            upMessage(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    addMessage({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            addMessage(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    checkMessageEdit({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            checkMessageEdit(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    // 留言 end ------------------------------------->
 }
 
 
 export default {
-  namespaced: true,
-  state,
-  mutations,
-  actions
+    namespaced: true,
+    state,
+    mutations,
+    actions
 }

+ 1 - 1
src/utils/baseUrl.js

@@ -11,7 +11,7 @@ const URL = {
   baseUrl: 'http://bapi.t:9101',//政讯项目地址
   aiUrl: 'http://apipre3.bjzxtw.org.cn',//ai环境域名
   //baseUrl: 'http://192.168.1.201:9501',//刘佳伟本地环境
-  //baseUrl:'http://192.168.1.201:9101',//冯蕊的本地环境
+  //baseUrl:'http://192.168.1.236:9101',//冯蕊的本地环境
   //baseUrl: 'http://192.168.1.129:9501',//刘剑的本地环境
   // WebsocketUrl: 'ws://192.168.1.201:9506',//刘佳伟 -- websocket地址
   // WebsocketUrl: 'ws://192.168.1.127:9506'//刘剑 -- websocket地址

+ 352 - 0
src/views/news/messageCreat.vue

@@ -0,0 +1,352 @@
+<template>
+    <div class="mainBox">
+        <div class="layerBox">
+            <tableTitle :name="'添加留言'" v-if="pageMode == 'add'"/>
+            <tableTitle :name="'编辑留言'" v-if="pageMode == 'edit'"/>
+            <tableTitle :name="'留言详情'" v-if="pageMode == 'view'"/>
+            <el-form :model="form" ref="form" :rules="formRules" label-position="left" label-width="120px">
+                <div class="formDiv">
+                    <div>
+                        <el-form-item label="留言标题:" :label-width="formLabelWidth" prop="title" class="custom-align-right">
+                            <el-input v-model="form.title" autocomplete="off" placeholder="请输入留言标题" :disabled="pageMode == 'view'"></el-input>
+                        </el-form-item>
+                        <el-form-item label="网站属性:" :label-width="formLabelWidth" prop="column_id" class="custom-align-right">
+                            <el-cascader v-model="form.column_id" :props="{ checkStrictly: true }" :options="website_column_arr" :disabled="pageMode == 'view'"></el-cascader>
+                        </el-form-item>
+                        <el-form-item label="留言关键词:" class="custom-align-right" v-if="pageMode != 'view'">
+                            <template #label>
+                                <span class="askBox">
+                                    留言关键词:
+                                    <el-tooltip class="item" effect="dark" content="留言关键词,如:三农市场网、全国三农、信息一体化。" placement="top">
+                                        <i class="el-icon-question"></i>
+                                    </el-tooltip>
+                                </span>
+                            </template>
+                            <tagInput :initialTags="tags" @tags-updated="updateTags"></tagInput>
+                        </el-form-item>
+                        <el-form-item label="留言关键词:" class="custom-align-right" v-else>
+                            <el-input v-model="this.form.keyword" autocomplete="off" placeholder="请输入留言标题" disabled="disabled"></el-input>
+                        </el-form-item>
+                        <el-form-item label="留言描述:" class="custom-align-right">
+                            <template #label>
+                                <span class="askBox">
+                                    留言描述:
+                                    <el-tooltip class="item" effect="dark" content="留言描述,如:中国三农市场网创建以来,社会效益和会员经济效益贡献。" placement="top">
+                                        <i class="el-icon-question"></i>
+                                    </el-tooltip>
+                                </span>
+                            </template>
+                            <el-input type="textarea" v-model="form.description" class="custom-textarea" placeholder="请输入留言描述" :disabled="pageMode == 'view'"></el-input>
+                        </el-form-item>
+                        <el-form-item label="留言内容:" prop="content" class="custom-align-right" v-if="pageMode == 'add' || pageMode == 'edit'">
+                            <myEditor ref="myEditor" v-model="form.content"></myEditor>
+                        </el-form-item>
+                        <el-form-item label="留言内容:" prop="content" class="custom-align-right" v-else>
+                            <div v-html="form.content" class="contentBox"></div>
+                        </el-form-item>
+                    </div>
+                    <div v-if="creatNews_user_type == 10000 && pageMode != 'view' && pageName == 'messageList'">
+                        <el-form-item label="回复:" :label-width="formLabelWidth" class="custom-align-right">
+                            <el-input type="textarea" v-model="form.reply" class="custom-textarea" placeholder="请输入回复"></el-input>
+                        </el-form-item>
+                    </div>
+                    <div v-if="creatNews_user_type != 10000 && pageMode == 'view'">
+                        <el-form-item label="回复:" :label-width="formLabelWidth" class="custom-align-right">
+                            <el-input type="textarea" v-model="form.reply" class="custom-textarea" placeholder="暂无回复" disabled="disabled"></el-input>
+                        </el-form-item>
+                    </div>
+                </div>
+            </el-form>
+        </div>
+        <div class="bottomBtnBox">
+            <el-button type="info" @click="returnPage">返回</el-button>
+            <el-button type="primary" @click="addToServe" v-if="pageMode == 'add'">确定</el-button>
+            <el-button type="primary" @click="editToServe" v-if="pageMode == 'edit'">编辑</el-button>
+        </div>
+    </div>
+</template>
+
+<script>
+import { getWebSiteId, getUseType } from '@/utils/auth'
+//表格标题
+import tableTitle from './components/tableTitle.vue';
+//引入tag标签组件
+import tagInput from '../../components/InputTag/index.vue';
+//引入公用样式
+import '@/styles/global.less';
+//引入富文本编辑器
+import myEditor from '../../components/edit/myEditor.vue';
+
+export default {
+    components: {
+        tableTitle,
+        tagInput,
+        myEditor,
+    },
+    data() {
+        const validateEmpty = (rule, value, callback) => {
+            if (value == '') {
+                callback(new Error('该项不能为空!'))
+            } else {
+                callback()
+            }
+        }
+        const validateArray = (rule, value, callback) => {
+            if (value.length == 0) {
+                callback(new Error('该项不能为空!'))
+            } else {
+                callback()
+            }
+        }
+        let self = this;
+        return {
+            pageMode: 'add',//页面模式 add=新建 edit=编辑 view=查看
+            pageName: 'messageReviewList',//页面名称
+            formLabelWidth: '120px',
+            creatNews_user_type: 0,//用户身份
+            tableDivTitle:"添加留言",
+            tags: [],//标签数组
+            website_column_arr: [],//网系列表
+            column_id: [],//选择的网系
+            form: {
+                column_id:0,//网站属性id
+                title:"",//留言标题
+                keyword: "",//留言关键词
+                description: "",//留言描述
+                content: "",//留言内容
+                reply:"",//回复内容
+            },
+            formRules: {
+                title: [{ required: true, trigger: 'blur', validator: validateEmpty }],
+                content: [{ required: true, trigger: 'blur', validator: validateEmpty }],
+                column_id: [{ type: 'array', required: true, trigger: 'change', message: '必须选择一个网系!' }],
+            },
+        };
+    },
+    methods: {
+        //拆解标签
+        updateTags(newTags) {
+            this.tags = newTags;
+            this.form.keyword = newTags.join(',');
+        },
+        //获得所有网系
+        getwebsiteColumn() {
+            let that = this;
+            this.$store.dispatch('pool/getwebsiteColumn').then(res => {
+                let arrData = this.transformData(res.data)
+                this.website_column_arr = arrData;
+            })
+        },
+        transformData(arrData) {
+            let that = this;
+            return arrData.map(item => {
+                let newItem = {
+                    label: item.column_name,
+                    value: item.id
+                };
+                if (item.children && item.children.length > 0) {
+                    newItem.children = that.transformData(item.children);
+                }
+                return newItem;
+            });
+        },
+        //提交表单
+        addToServe() {
+            console.log(this.form)
+            //表单验证
+            this.$refs.form.validate(valid => {
+                if (valid) {
+                    //获得最后一位
+                    if (Array.isArray(this.form.column_id) && this.form.column_id.length > 0) {
+                        this.form.column_id = this.form.column_id[this.form.column_id.length - 1];
+                    }
+                    this.$store.dispatch('news/addMessage',this.form).then(res => {
+                        if(res.code == 200) {
+                            console.log(res)
+                            this.$router.push({
+                                path: '/' + this.$route.query.page,
+                            })
+                            this.$message.success("留言添加成功!");
+                        } else {
+                            this.$message.error(res.message);
+                        }
+                    })
+                }
+            })
+        },
+        //编辑表单
+        editToServe() {
+            console.log(this.form)
+            //表单验证
+            this.$refs.form.validate(valid => {
+                if (valid) {
+                    //添加留言id
+                    this.form.id = this.$route.query.id;
+                    //获得最后一位
+                    if (Array.isArray(this.form.column_id) && this.form.column_id.length > 0) {
+                        this.form.column_id = this.form.column_id[this.form.column_id.length - 1];
+                    }
+                    this.$store.dispatch('news/upMessage',this.form).then(res => {
+                        if(res.code == 200) {
+                            console.log(res)
+                            this.$router.push({
+                                path: '/' + this.$route.query.page,
+                            })
+                            this.$message.success("留言编辑成功!");
+                        } else {
+                            this.$message.error(res.message);
+                        }
+                    })
+                }
+            })
+        },
+        //清理表单
+        cleatForm() {
+            this.tags = [];
+            this.website_column_arr = [];
+            this.column_id = [];
+            this.form.column_id = 0;
+            this.form.title = "";
+            this.form.keyword = "";
+            this.form.description = "";
+            this.form.content = "";
+            this.form.reply = "";
+            this.pageMode = "add"
+            delete this.form.id;
+        },
+        //回显数据
+        getMainData(id) {
+            this.$store.dispatch('news/getMessageInfo',{id:id}).then(res => {
+                if(res.code == 200) {
+                   this.form.column_id = res.data.column_arr_id;
+                   this.form.title = res.data.title;
+                   this.form.keyword = res.data.keyword;
+                   this.form.description = res.data.description;
+                   this.form.content = res.data.content;
+                   this.form.reply = res.data.reply;
+                   this.tags = res.data.keyword.split(',');
+                } else {
+                    this.$message.error(res.message);
+                }
+            })
+        },
+        returnPage(){
+            let pagename = this.$route.query.page
+            console.log(this.$route.query.page)
+            this.$router.push({
+                path: "/" + pagename,
+            })
+        }
+    },
+    mounted() {
+        //1.清理表单
+        this.cleatForm();
+        //2.获得用户身份
+        this.creatNews_user_type = getUseType()
+        //3.获得站点id
+        this.websiteid = getWebSiteId()
+        //4.获得所有网系
+        this.getwebsiteColumn();
+        //5.判断是新建还是回显
+        //5.1 新建留言
+        if (this.$route.query.id == undefined && this.$route.query.type == 'add') {
+            this.pageMode = "add"
+            this.pageName = this.$route.query.page;
+        }
+        //5.2 编辑留言
+        if(this.$route.query.id != undefined && this.$route.query.type == 'edit') {
+            this.pageMode = "edit";
+            this.pageName = this.$route.query.page;
+            this.getMainData(this.$route.query.id)
+        }
+        //5.3 查看留言
+        if(this.$route.query.id != undefined && this.$route.query.type == 'view') {
+            this.pageMode = "view";
+            this.pageName = this.$route.query.page;
+            this.getMainData(this.$route.query.id)
+        }
+    }
+};
+</script>
+
+<style scoped lang="less">
+.contentBox {
+    padding: 5px 15px;
+    border: 1px solid #DCDFE6;
+    border-radius: 4px;
+    background: #F5F7FA;
+    ::v-deep * {
+        color: #C0C4CC;
+    }
+}
+
+//执行v-deep穿透scope选择器 start------------------------------------------------------------>*/
+::v-deep .custom-form-item>.el-form-item__label {
+    line-height: 140px !important;
+}
+::v-deep .custom-textarea .el-textarea__inner {
+    resize: none;
+    /* 禁止用户拖拽调整大小 */
+}
+::v-deep .custom-align-right .el-form-item__label {
+    text-align: right;
+    /* 设置标签文字右对齐 */
+}
+::v-deep .el-popper {
+    height: 500px;
+}
+::v-deep .el-select {
+    width: 100%;
+    /* 禁止用户拖拽调整大小 */
+}
+::v-deep .el-input-group__prepend {
+    color: black !important;
+}
+.formLabelFloatBox {
+    margin-bottom: 10px;
+    position: relative;
+    .formLabeladdIcon {
+        position: absolute;
+        right: 45px;
+        top: 5px;
+        width: 38px;
+        height: 24px;
+    }
+    .formLabelDelIcon {
+        position: absolute;
+        right: 5px;
+        top: 5px;
+        width: 38px;
+        height: 24px;
+    }
+}
+//该项不能为空几个字的位置
+::v-deep .el-form-item__error {
+    color: #ff4949;
+    font-size: 12px;
+    line-height: 1;
+    padding-top: 4px;
+    position: relative;
+    // top: 22%;
+    // left: 93%;
+}
+//输入框距离底部的距离
+::v-deep .el-form-item {
+    margin-bottom: 5px;
+}
+//图片提示文字样式
+.photo_tips {
+    font-size: 12px;
+    color: #999;
+}
+.notchooseImgDiv img {
+    width: 120px;
+    height: 120px;
+    margin-left: 11px;
+}
+.notchooseImgDiv .notchooseImgDivText {
+    font-size: 14px;
+    margin-top: -25px;
+}
+// 执行v-deep穿透scope选择器 end------------------------------------------------------------>
+</style>

+ 291 - 0
src/views/news/messageList.vue

@@ -0,0 +1,291 @@
+<template>
+    <div class="mainBox">
+        <!--搜索功能 start------------------------------------------------------------>
+        <div class="layerBox_search">
+            <div class="layerBoxLine">
+                <el-row>
+                    <el-col :span="8">
+                        <div class="searchBox">
+                            <div class="searchTitle">留言标题:</div>
+                            <el-input placeholder="请输入留言标题" autocomplete="off" v-model="getApiData.title" />
+                        </div>
+                    </el-col>
+                    <el-col :span="15">
+                        <div class="tag_webSite_head_btn_box">
+                            <div class="searchTitle"><span></span></div>
+                            <el-button type="primary" @click="getData('search')">搜索</el-button>
+                            <el-button type="info" @click="clearSearchList">重置</el-button>
+                        </div>
+                    </el-col>
+                </el-row>
+            </div>
+        </div>
+        <div class="layerBoxNoBg">
+            <div>
+                <el-button type="primary" @click="gotoCreat">发布留言</el-button>
+            </div>
+        </div>
+        <!--搜索功能 end------------------------------------------------------------>
+        <!--表格内容 start------------------------------------------------------------>
+        <div class="layerBox">
+            <tableTitle :name="tableDivTitle" />
+            <el-row>
+                <template>
+                    <el-table :data="tableData" style="width: 100%">
+                        <el-table-column fixed prop="id" label="编号" width="50"></el-table-column>
+                        <el-table-column prop="title" label="留言标题" width="240"></el-table-column>
+                        <el-table-column prop="created_at" label="创建时间" width="240"></el-table-column>
+                        <el-table-column prop="updated_at" label="修改时间"></el-table-column>
+                        <el-table-column prop="status" label="状态">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.status == 0" class="status0">待审核</span>
+                                <span v-if="scope.row.status == 1" class="status1">已通过</span>
+                                <span v-if="scope.row.status == 2" class="status2">已拒绝</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column fixed="right" label="操作" width="350" header-align="center">
+                            <template slot-scope="scope">
+                                <div class="listBtnBox">
+                                    <div class="listDeleteBtn" @click="deleteData(scope.row.id)">
+                                        <i class="el-icon-delete"></i>删除
+                                    </div>
+                                    <div class="listUpBtn" @click="upData(scope.row.id)">
+                                        <i class="el-icon-refresh-left"></i>撤回 
+                                    </div>
+                                    <!--非管理员且该留言已通过申请,则无法再次编辑-->
+                                    <div class="listMainBtn" @click="getDataMain(scope.row.id)" v-if="creatNews_user_type != 10000 && scope.row.status == 1">
+                                        <i class="el-icon-view"></i>查看
+                                    </div>
+                                    <div class="listEditBtn" @click="gotoEdit(scope.row.id)" v-if="creatNews_user_type == 10000 && scope.row.status == 1">
+                                        <i class="el-icon-edit-outline"></i>编辑
+                                    </div>
+                                </div>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                </template>
+            </el-row>
+        </div>
+        <div class="alignBox">
+            <el-row>
+                <el-col :span="24">
+                    <el-pagination :current-page="getApiData.page" @size-change="handleSizeChange"
+                        @current-change="handleCurrentChange" :page-size="10" layout="total, prev, pager, next, jumper"
+                        :total="allCount"></el-pagination>
+                </el-col>
+            </el-row>
+        </div>
+        <!--表格内容 end------------------------------------------------------------>
+    </div>
+</template>
+
+<script>
+//获得用户身份
+import { getWebSiteId, getUseType } from '@/utils/auth'
+//表格标题
+import tableTitle from './components/tableTitle';
+//引入公用样式
+import '@/styles/global.less';
+
+export default {
+    components: {
+        tableTitle,//表格标题
+    },
+    data() {
+        //0.全局操作 start ------------------------------------------------------------>
+        let self = this;
+        //0.全局操作 end ------------------------------------------------------------>
+        return {
+            //1.列表和分页相关 start ------------------------------------------------------------>
+            tableDivTitle: "留言列表",
+            tableData: [],//内容
+            getApiData: {
+                is_master: 1,//是否为审核列表 0=待审核列表 1=已审核列表
+                title: "",//留言标题
+                page: 1,//当前是第几页
+                page_size: 10,//一共多少条
+            },
+            allCount: 0,//总条数
+            //分页相关 end ------------------------------------------------------------>
+            
+            //用户身份
+            creatNews_user_type:0
+        }
+    },
+    methods: {
+        //1.列表和分页相关 start ------------------------------------------------------------>
+        //1.1 开始请求列表信息方法
+        getData(type) {
+            //如果是搜索,重新加载第一页==搜索
+            if (type == "search") {
+                this.getApiData.page = 1;
+            }
+            this.$store.dispatch('news/getMessageList', this.getApiData).then(res => {
+                //列表
+                this.tableData = res.data.data;
+                //页数
+                this.allCount = res.data.count;
+            }).catch(() => {
+                this.$message({
+                    type: 'info',
+                    message: '网络错误,请重试!'
+                });
+            })
+        },
+        //1.2 删除内容
+        deleteData(id) {
+            this.$confirm('此操作将永久删除该条数据, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                console.log("当前删除:" + id)
+                this.$store.dispatch('news/delMessage', {id:id}).then(res => {
+                    if(res.code == 200) {
+                        this.$message({
+                            type: 'success',
+                            message: '删除成功!'
+                        });
+                    } else {
+                        this.$message.error(res.message);
+                    }
+                    this.getData();
+                })
+            }).catch(() => {
+                this.$message({
+                    type: 'warning',
+                    message: '已取消删除'
+                });
+            });
+        },
+        //1.3 拒绝消息
+        upData(id) {
+            //拒绝消息
+            this.$prompt('请输入拒绝理由', '撤回', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                inputPlaceholder: '请输入拒绝理由',
+                inputPattern: /\S+/, // 匹配非空内容(至少一个非空白字符)
+                inputErrorMessage: '拒绝理由不能为空'
+            }).then(({ value }) => {
+                let data = {
+                    id:id,
+                    status:2,
+                    reason:value
+                }
+                this.$store.dispatch('news/upMessageStatus', data).then(res => {
+                    if(res.code == 200) {
+                        this.$message({
+                            type: 'success',
+                            message: '已撤回该留言'
+                        });
+                        this.getData();
+                    } else {
+                        this.$message.error(res.message);
+                    }
+                })
+            })
+        },
+        //1.4 列表内容分页
+        handleSizeChange(val) {
+            this.getApiData.page = val;
+            this.getData();
+        },
+        //1.5 点击分页
+        handleCurrentChange(val) {
+            this.getApiData.page = val;
+            this.getData();
+        },
+        //1.6 重置按钮
+        clearSearchList() {
+            this.getApiData.is_master = 1;
+            this.getApiData.title = "";
+            this.getApiData.page = 1;
+            this.getApiData.page_size = 10;
+            this.getData();
+        },
+        //列表和分页相关 end ------------------------------------------------------------>
+        //跳转到添加留言页面 start ------------------------------------------------------------>
+        //创建
+        gotoCreat() {
+            this.$router.push({
+                path: '/messageCreat',
+                query: {
+                    type: 'add',
+                    page: 'messageReviewList'
+                }
+            });
+        },
+        //编辑
+        gotoEdit(id) {
+            this.$router.push({
+                path: '/messageCreat',
+                query: {
+                    id: id,
+                    type: 'edit',
+                    page: 'messageList'
+                }
+            });
+        },
+        //查看
+        getDataMain(id) {
+            this.$router.push({
+                path: '/messageCreat',
+                query: {
+                    id: id,
+                    type: 'view',
+                    page: 'messageList'
+                }
+            });
+        },
+        //跳转到添加留言页面 end ------------------------------------------------------------>
+    },
+    mounted() {
+        //获得第一页
+        this.getData();
+        //1.获得用户身份
+        this.creatNews_user_type = getUseType()
+    },
+}
+</script>
+
+<style scoped lang="less">
+.status0 {
+    color: #5570F1;
+}
+.status1 {
+    color: #519C66;
+}
+.status2 {
+    color: #CC5F5F;
+}
+//执行v-deep穿透scope选择器 start------------------------------------------------------------>*/
+::v-deep .custom-form-item>.el-form-item__label {
+    line-height: 140px !important;
+}
+::v-deep .custom-textarea .el-textarea__inner {
+    resize: none;
+    /* 禁止用户拖拽调整大小 */
+}
+::v-deep .custom-align-right .el-form-item__label {
+    text-align: right;
+    /* 设置标签文字右对齐 */
+}
+//执行v-deep穿透scope选择器 end------------------------------------------------------------>*/
+.tag_webSite_head_btn_box {
+    overflow: hidden;
+}
+.tag_webSite_head_btn_box .searchTitle {
+    opacity: 0;
+    span {
+        display: block;
+        height: 16px;
+    }
+}
+.tag_webSite_head_btn_box button {
+    float: right;
+}
+.tag_webSite_head_btn_box button:nth-of-type(1) {
+    margin-left: 10px;
+}
+</style>

+ 286 - 0
src/views/news/messageReviewList.vue

@@ -0,0 +1,286 @@
+<template>
+    <div class="mainBox">
+        <!--搜索功能 start------------------------------------------------------------>
+        <div class="layerBox_search">
+            <div class="layerBoxLine">
+                <el-row>
+                    <el-col :span="6">
+                        <div class="searchBox">
+                            <div class="searchTitle">留言标题:</div>
+                            <el-input placeholder="请输入留言标题" autocomplete="off" v-model="getApiData.keyword" />
+                        </div>
+                    </el-col>
+                    <el-col :span="6">
+                        <div class="searchBox">
+                            <div class="searchTitle">审核状态:</div>
+                            <el-select v-model="getApiData.is_master" placeholder="请选择..">
+                                <el-option label="全部" value="0"></el-option>
+                                <el-option label="已拒绝" value="2"></el-option>
+                                <el-option label="待审核" value="3"></el-option>
+                            </el-select>
+                        </div>
+                    </el-col>
+                    <el-col :span="12">
+                        <div class="tag_webSite_head_btn_box">
+                            <div class="searchTitle"><span></span></div>
+                            <el-button type="primary" @click="getData('search')">搜索</el-button>
+                            <el-button type="info" @click="clearSearchList">重置</el-button>
+                        </div>
+                    </el-col>
+                </el-row>
+            </div>
+        </div>
+        <!--搜索功能 end------------------------------------------------------------>
+        <!--表格内容 start------------------------------------------------------------>
+        <div class="layerBox">
+            <tableTitle :name="tableDivTitle" />
+            <el-row>
+                <template>
+                    <el-table :data="tableData" style="width: 100%">
+                        <el-table-column fixed prop="id" label="编号" width="50"></el-table-column>
+                        <el-table-column prop="title" label="留言标题" width="240"></el-table-column>
+                        <el-table-column prop="created_at" label="创建时间" width="240"></el-table-column>
+                        <el-table-column prop="updated_at" label="修改时间"></el-table-column>
+                        <el-table-column prop="status" label="状态">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.status == 0" class="status0">待审核</span>
+                                <span v-if="scope.row.status == 1" class="status1">已通过</span>
+                                <span v-if="scope.row.status == 2" class="status2">已拒绝</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column fixed="right" label="操作" width="350" header-align="center">
+                            <template slot-scope="scope">
+                                <div class="listBtnBox">
+                                    <div class="listMainBtn" @click="editData(scope.row.id)" v-if="creatNews_user_type==10000">
+                                        <i class="el-icon-check"></i>审核
+                                    </div>
+                                    <div class="listDeleteBtn" @click="deleteData(scope.row.id)">
+                                        <i class="el-icon-delete"></i>删除
+                                    </div>
+                                    <div class="listEditBtn" @click="gotoEdit(scope.row.id)">
+                                        <i class="el-icon-edit-outline"></i>编辑
+                                    </div>
+                                </div>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                </template>
+            </el-row>
+        </div>
+        <div class="alignBox">
+            <el-row>
+                <el-col :span="24">
+                    <el-pagination :current-page="getApiData.page" @size-change="handleSizeChange"
+                        @current-change="handleCurrentChange" :page-size="10" layout="total, prev, pager, next, jumper"
+                        :total="allCount"></el-pagination>
+                </el-col>
+            </el-row>
+        </div>
+        <!--表格内容 end------------------------------------------------------------>
+    </div>
+</template>
+
+<script>
+//获得用户身份
+import { getWebSiteId, getUseType } from '@/utils/auth'
+//表格标题
+import tableTitle from './components/tableTitle';
+//引入公用样式
+import '@/styles/global.less';
+
+export default {
+    components: {
+        tableTitle,//表格标题
+    },
+    data() {
+        //0.全局操作 start ------------------------------------------------------------>
+        let self = this;
+        //0.全局操作 end ------------------------------------------------------------>
+        return {
+            creatNews_user_type:0,//用户身份
+            //1.列表和分页相关 start ------------------------------------------------------------>
+            tableDivTitle: "留言列表",
+            tableData: [],//内容
+            getApiData: {
+                is_master: "0",//是否为审核列表 0=待审核列表 1=已审核列表
+                title: "",//留言标题
+                page: 1,//当前是第几页
+                page_size: 10,//一共多少条
+            },
+            allCount: 0,//总条数
+            //分页相关 end ------------------------------------------------------------>
+        }
+    },
+
+    methods: {
+        //1.列表和分页相关 start ------------------------------------------------------------>
+        //1.1 开始请求列表信息方法
+        getData(type) {
+            //如果是搜索,重新加载第一页==搜索
+            if (type == "search") {
+                this.getApiData.page = 1;
+                this.getApiData.title = "";
+            }
+            this.$store.dispatch('news/getMessageList', this.getApiData).then(res => {
+                //列表
+                this.tableData = res.data.data;
+                //页数
+                this.allCount = res.data.count;
+                
+            }).catch(() => {
+                this.$message({
+                    type: 'info',
+                    message: '网络错误,请重试!'
+                });
+            })
+        },
+        //1.2 删除内容
+        deleteData(id) {
+            this.$confirm('此操作将永久删除该条数据, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                console.log("当前删除:" + id)
+                this.$store.dispatch('news/delMessage', {id:id}).then(res => {
+                    if(res.code == 200) {
+                        this.$message({
+                            type: 'success',
+                            message: '删除成功!'
+                        });
+                    } else {
+                        this.$message.error(res.message);
+                    }
+                    this.getData();
+                })
+            }).catch(() => {
+                this.$message({
+                    type: 'warning',
+                    message: '已取消删除'
+                });
+            });
+        },
+        editData(id){
+            this.$confirm('允许该留言通过审核吗?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'success'
+            }).then(() => {
+                let data = {
+                    id:id,
+                    status:1,
+                    reason:""
+                }
+                this.$store.dispatch('news/upMessageStatus', data).then(res => {
+                    if(res.code == 200) {
+                        this.$message({
+                            type: 'success',
+                            message: '审核已通过!'
+                        });
+                    } else {
+                        this.$message.error(res.message);
+                    }
+                    this.getData();
+                })
+            }).catch(() => {
+                this.$message({
+                    type: 'warning',
+                    message: '已取消操作'
+                });
+            });
+        },
+        //1.3 列表内容分页
+        handleSizeChange(val) {
+            this.getApiData.page = val;
+            this.getData();
+        },
+        //1.4 点击分页
+        handleCurrentChange(val) {
+            this.getApiData.page = val;
+            this.getData();
+        },
+        //1.6 重置按钮
+        clearSearchList() {
+            this.tableData = [];
+            this.getApiData.keyword = "";
+            this.getApiData.name = "";
+            this.getApiData.website_column_id = [];
+            this.getApiData.city_id = [];
+            this.getApiData.city_arr_id = [];
+            this.getApiData.page = 1;
+            this.getApiData.pageSize = 10;
+            this.getData();
+        },
+        //列表和分页相关 end ------------------------------------------------------------>
+        //跳转到添加留言页面 start ------------------------------------------------------------>
+        // gotoCreat() {
+        //     this.$router.push({
+        //         path: '/messageCreat',
+        //         query: {
+        //             type: 'add',
+        //             page: 'messageReviewList'
+        //         }
+        //     });
+        // },
+        //编辑
+        gotoEdit(id) {
+            this.$router.push({
+                path: '/messageCreat',
+                query: {
+                    id: id,
+                    type: 'edit',
+                    page: 'messageReviewList'
+                }
+            });
+        },
+        //跳转到添加留言页面 end ------------------------------------------------------------>
+    },
+    mounted() {
+        //获得第一页
+        this.getData();
+        //1.获得用户身份
+        this.creatNews_user_type = getUseType()
+    },
+}
+</script>
+
+<style scoped lang="less">
+.status0 {
+    color: #5570F1;
+}
+.status1 {
+    color: #519C66;
+}
+.status2 {
+    color: #CC5F5F;
+}
+//执行v-deep穿透scope选择器 start------------------------------------------------------------>*/
+::v-deep .custom-form-item>.el-form-item__label {
+    line-height: 140px !important;
+}
+::v-deep .custom-textarea .el-textarea__inner {
+    resize: none;
+    /* 禁止用户拖拽调整大小 */
+}
+::v-deep .custom-align-right .el-form-item__label {
+    text-align: right;
+    /* 设置标签文字右对齐 */
+}
+//执行v-deep穿透scope选择器 end------------------------------------------------------------>*/
+.tag_webSite_head_btn_box {
+    overflow: hidden;
+}
+.tag_webSite_head_btn_box .searchTitle {
+    opacity: 0;
+    span {
+        display: block;
+        height: 16px;
+    }
+}
+.tag_webSite_head_btn_box button {
+    float: right;
+}
+.tag_webSite_head_btn_box button:nth-of-type(1) {
+    margin-left: 10px;
+}
+</style>