Просмотр исходного кода

增加网站导航和调研选题

增加网站导航和调研选题
dangyunlong 2 дней назад
Родитель
Сommit
9c7e615100

+ 56 - 7
src/api/news.js

@@ -563,7 +563,7 @@ export function checkJobRecruiting(data) {
         data
     })
 }
-//3 留言
+//3.留言
 //3.1 留言列表
 export function getMessageList(params) {
     return request({
@@ -629,7 +629,7 @@ export function getResearchTopicList(params) {
         params
     })
 }
-//3.2 选题详情
+//4.2 选题详情
 export function getResearchTopicInfo(params) {
     return request({
         url: '/news/getResearchTopicInfo',
@@ -637,7 +637,7 @@ export function getResearchTopicInfo(params) {
         params
     })
 }
-//3.3 修改选题状态
+//4.3 修改选题状态
 export function checkResearchTopic(data) {
     return request({
         url: '/news/checkResearchTopic',
@@ -645,7 +645,7 @@ export function checkResearchTopic(data) {
         data
     })
 }
-//3.4 删除选题
+//4.4 删除选题
 export function delResearchTopic(params) {
     return request({
         url: '/news/delResearchTopic',
@@ -653,7 +653,7 @@ export function delResearchTopic(params) {
         params
     })
 }
-//3.5 修改选题详情
+//4.5 修改选题详情
 export function upResearchTopic(data) {
     return request({
         url: '/news/upResearchTopic',
@@ -661,7 +661,7 @@ export function upResearchTopic(data) {
         data
     })
 }
-//3.6 添加调研选题
+//4.6 添加调研选题
 export function addResearchTopic(data) {
     return request({
         url: '/news/addResearchTopic',
@@ -669,7 +669,7 @@ export function addResearchTopic(data) {
         data
     })
 }
-//3.7 获得所有调研员
+//4.7 获得所有调研员
 export function getAllResearcher(params) {
     return request({
         url: '/news/getAllResearcher',
@@ -677,4 +677,53 @@ export function getAllResearcher(params) {
         params
     })
 }
+//5.官网导航
+//5.1 获得官网导航列表
+export function getWebCateinfoList(params) {
+    return request({
+        url: '/news/getWebCateinfoList',
+        method: 'get',
+        params
+    })
+}
+//5.2 获得官网导航详情
+export function getWebCateinfoDetail(params) {
+    return request({
+        url: '/news/getWebCateinfoDetail',
+        method: 'get',
+        params
+    })
+}
+//5.3 审核官网导航
+export function checkWebCateinfo(data) {
+    return request({
+        url: '/news/checkWebCateinfo',
+        method: 'post',
+        data
+    })
+}
+//5.4 删除官网导航
+export function delWebCateinfo(data) {
+    return request({
+        url: '/news/delWebCateinfo',
+        method: 'post',
+        data
+    })
+}
+//5.5 添加网站导航
+export function addWebCateinfo(data) {
+    return request({
+        url: '/news/addWebCateinfo',
+        method: 'post',
+        data
+    })
+}
+//5.6 更改网站导航
+export function upWebCateinfo(data) {
+    return request({
+        url: '/news/upWebCateinfo',
+        method: 'post',
+        data
+    })
+}
 // 招聘列表 end  fr ------------------------------------->

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

@@ -198,5 +198,54 @@ const zx= [
             }
         ]
     },
+    //官网导航
+    {
+        path: '/officialNavList',
+        component: Layout,
+        children: [
+            {
+                name: '',
+                path: '',
+                component: () => import('@/views/news/officialNavList'),
+                meta: {
+                    title: '官网导航列表',
+                    hidden: true,
+                    breadcrumb: true
+                }
+            }
+        ]
+    },
+    {
+        path: '/officialNavAdd',
+        component: Layout,
+        children: [
+            {
+                name: '',
+                path: '',
+                component: () => import('@/views/news/officialNavAdd'),
+                meta: {
+                    title: '添加官网导航',
+                    hidden: true,
+                    breadcrumb: true
+                }
+            }
+        ]
+    },
+    {
+        path: '/officialNavReview',
+        component: Layout,
+        children: [
+            {
+                name: '',
+                path: '',
+                component: () => import('@/views/news/officialNavReview'),
+                meta: {
+                    title: '待审核列表',
+                    hidden: true,
+                    breadcrumb: true
+                }
+            }
+        ]
+    },
 ]
 export default zx

+ 57 - 1
src/store/modules/news.js

@@ -10,7 +10,8 @@ import {
     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,
-    getResearchTopicList, getResearchTopicInfo, checkResearchTopic, delResearchTopic, upResearchTopic, addResearchTopic, getAllResearcher
+    getResearchTopicList, getResearchTopicInfo, checkResearchTopic, delResearchTopic, upResearchTopic, addResearchTopic, getAllResearcher, 
+    getWebCateinfoList, getWebCateinfoDetail, checkWebCateinfo, delWebCateinfo, addWebCateinfo, upWebCateinfo
 } from '@/api/news'
 
 const state = {
@@ -913,6 +914,61 @@ const actions = {
             })
         })
     },
+    //官网导航
+    getWebCateinfoList({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getWebCateinfoList(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getWebCateinfoDetail({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getWebCateinfoDetail(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    checkWebCateinfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            checkWebCateinfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    delWebCateinfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            delWebCateinfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    addWebCateinfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            addWebCateinfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    upWebCateinfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            upWebCateinfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
 }
 
 export default {

+ 1 - 1
src/utils/baseUrl.js

@@ -28,7 +28,7 @@ const URL = {
     WebCLogoutUrl: 'https://apipre1.bjzxtw.org.cn/api/logoutapi', //单点登录退出
     //webClogBackUrL: 'http://adminpre.bjzxtw.org.cn/auth/back_login.php' //单点登录返回地址 - 王鹏
     webClogBackUrL: 'https://adminpre.bjzxtw.org.cn/adminapi/api/backlogin',//单点登录返回地址 - 刘佳伟
-    imUrl: 'https://imp.ncltw.org.cn/message', //im地址
+    imUrl: 'https://imcs.fzxfb.org.cn/message', //im地址
 }
 
 export default URL;

+ 762 - 0
src/views/news/officialNavAdd.vue

@@ -0,0 +1,762 @@
+<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>
+                        <!--1.添加信息标题-->
+                        <el-form-item label="信息标题:" :label-width="formLabelWidth" prop="title" class="custom-align-right" v-if="pageMode == 'add'">
+                            <el-input v-model="form.title" autocomplete="off" placeholder="请输入调研标题"></el-input>
+                        </el-form-item>
+                        <!--1.编辑信息标题-->
+                        <el-form-item label="信息标题:" :label-width="formLabelWidth" prop="title" class="custom-align-right" v-else>
+                            <el-input v-model="form.title" autocomplete="off" placeholder="请输入调研标题" :disabled="pageMode == 'view' || isme == false"></el-input>
+                        </el-form-item>
+                        <!--2.网站属性 只作为显示使用-->
+                        <el-form-item label="栏目名称:" :label-width="formLabelWidth" class="custom-align-right">
+                            <el-input v-model="form.cate_name" autocomplete="off" disabled="disabled"></el-input>
+                        </el-form-item>
+                        <!--3.推荐分类-->
+                        <el-form-item label="分类:" :label-width="formLabelWidth" prop="content" class="custom-align-right" v-if="pageMode == 'add'">
+                            <el-select v-model="form.type_id"  clearable placeholder="请选择推荐等级..">
+                                <el-option label="党委" :value="1"></el-option>
+                                <el-option label="人大" :value="2"></el-option>
+                                <el-option label="政府" :value="3"></el-option>
+                                <el-option label="政协" :value="4"></el-option>
+                                <el-option label="公安" :value="5"></el-option>
+                                <el-option label="检察院" :value="6"></el-option>
+                                <el-option label="法院" :value="7"></el-option>
+                                <el-option label="司法" :value="8"></el-option>
+                                <el-option label="纪检监察" :value="9"></el-option>
+                                <el-option label="信访" :value="10"></el-option>
+                                <el-option label="政法委" :value="11"></el-option>
+                                <el-option label="国安" :value="12"></el-option>
+                            </el-select>
+                        </el-form-item>
+                        <!--3.编辑分类-->
+                        <el-form-item label="分类:" :label-width="formLabelWidth" prop="content" class="custom-align-right" v-else>
+                            <el-select v-model="form.type_id"  clearable placeholder="请选择推荐等级.." :disabled="pageMode == 'view' || isme == false">
+                                <el-option label="党委" :value="1"></el-option>
+                                <el-option label="人大" :value="2"></el-option>
+                                <el-option label="政府" :value="3"></el-option>
+                                <el-option label="政协" :value="4"></el-option>
+                                <el-option label="公安" :value="5"></el-option>
+                                <el-option label="检察院" :value="6"></el-option>
+                                <el-option label="法院" :value="7"></el-option>
+                                <el-option label="司法" :value="8"></el-option>
+                                <el-option label="纪检监察" :value="9"></el-option>
+                                <el-option label="信访" :value="10"></el-option>
+                                <el-option label="政法委" :value="11"></el-option>
+                                <el-option label="国安" :value="12"></el-option>
+                            </el-select>
+                        </el-form-item>
+                        <!--4.添加缩略图-->
+                        <div v-if="pageMode == 'add'">
+                            <el-form-item label="缩略图:" :label-width="formLabelWidth" :class="['custom-form-item']" class="custom-align-right" >
+                                <div class="uploaderBox">
+                                    <div class="avatar-upload-container" @mouseenter="hovering = true" @mouseleave="hovering = false">
+                                        <el-upload class="avatar-uploader" action="#" :show-file-list="false" :before-upload="beforeAvatarUpload">
+                                            <img v-if="imgUrl" :src="imgUrl" class="avatar">
+                                            <div v-else class="chooseImgDiv">
+                                                <div>
+                                                    <img src="@/assets/public/upload/noImage.png">
+                                                    <div>选择图片</div>
+                                                </div>
+                                            </div>
+                                            <input type="hidden" name="logo" v-model="form.img_url">
+                                        </el-upload>
+                                        <div v-if="hovering && imgUrl" class="delete-button" @click="handleDelete">
+                                            <i class="el-icon-delete"></i>
+                                        </div>
+                                    </div>
+                                </div>
+                            </el-form-item>
+                        </div>
+                        <!--4.编辑缩略图-->
+                        <div v-else>
+                            <el-form-item label="缩略图:" :label-width="formLabelWidth" :class="['custom-form-item']" class="custom-align-right" v-if="pageMode != 'view' && isme == true">
+                                <div class="uploaderBox">
+                                    <div class="avatar-upload-container" @mouseenter="hovering = true" @mouseleave="hovering = false">
+                                        <el-upload class="avatar-uploader" action="#" :show-file-list="false" :before-upload="beforeAvatarUpload">
+                                            <img v-if="imgUrl" :src="imgUrl" class="avatar">
+                                            <div v-else class="chooseImgDiv">
+                                                <div>
+                                                    <img src="@/assets/public/upload/noImage.png">
+                                                    <div>选择图片</div>
+                                                </div>
+                                            </div>
+                                            <input type="hidden" name="logo" v-model="form.img_url">
+                                        </el-upload>
+                                        <div v-if="hovering && imgUrl" class="delete-button" @click="handleDelete">
+                                            <i class="el-icon-delete"></i>
+                                        </div>
+                                    </div>
+                                </div>
+                            </el-form-item>
+                            <el-form-item label="缩略图:" :label-width="formLabelWidth" :class="['custom-form-item']" class="custom-align-right" v-else>
+                                <img :src="imgUrl" class="avatarView">
+                            </el-form-item>
+                        </div>
+                        <!--5.调研关键词-->
+                        <div v-if="pageMode == 'add'">
+                            <!--5.添加调研关键词-->
+                            <el-form-item label="SEO关键词:" class="custom-align-right">
+                                <template #label>
+                                    <span class="askBox">
+                                        SEO关键词:
+                                        <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>
+                        </div>
+                        <div v-else>
+                            <!--5.编辑调研关键词-->
+                            <el-form-item label="SEO关键词:" class="custom-align-right" v-if="pageMode != 'view' && isme == true">
+                                <template #label>
+                                    <span class="askBox">
+                                        SEO关键词:
+                                        <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>
+                        </div>
+                        <!--6.添加调研描述-->
+                        <el-form-item label="SEO描述:" class="custom-align-right" v-if="pageMode == 'add'">
+                            <template #label>
+                                <span class="askBox">
+                                    SEO描述:
+                                    <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="请输入调研描述"></el-input>
+                        </el-form-item>
+                        <!--6.编辑调研描述-->
+                        <el-form-item label="SEO描述:" class="custom-align-right" v-else>
+                            <template #label>
+                                <span class="askBox">
+                                    SEO描述:
+                                    <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' || isme == false"></el-input>
+                        </el-form-item>
+                        <!--7.添加信息内容-->
+                        <div v-if="pageMode == 'add'">
+                            <el-form-item label="信息内容:" prop="content" class="custom-align-right">
+                                <myEditor ref="myEditor" v-model="form.content"></myEditor>
+                            </el-form-item>
+                        </div>
+                        <!--7.编辑信息内容-->
+                        <div v-else>
+                            <el-form-item label="信息内容:" prop="content" class="custom-align-right" v-if="pageMode == 'add' || pageMode == 'edit' && isme == true">
+                                <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>
+                        <!--8.添加网址-->
+                        <el-form-item label="网址:" :label-width="formLabelWidth" class="custom-align-right" v-if="pageMode == 'add'">
+                            <el-input v-model="form.web_url" autocomplete="off" placeholder="请输入网址"></el-input>
+                        </el-form-item>
+                        <!--8.编辑网址-->
+                        <el-form-item label="网址:" :label-width="formLabelWidth" class="custom-align-right" v-else>
+                            <el-input v-model="form.web_url" autocomplete="off" placeholder="请输入网址" :disabled="pageMode == 'view' || isme == false"></el-input>
+                        </el-form-item>
+                        <!--9.添加主办单位-->
+                        <el-form-item label="主办单位:" :label-width="formLabelWidth" class="custom-align-right" v-if="pageMode == 'add'">
+                            <el-input v-model="form.organizer" autocomplete="off" placeholder="请输入主办单位"></el-input>
+                        </el-form-item>
+                        <!--9.编辑主办单位-->
+                        <el-form-item label="主办单位:" :label-width="formLabelWidth" class="custom-align-right" v-else>
+                            <el-input v-model="form.organizer" autocomplete="off" placeholder="请输入主办单位" :disabled="pageMode == 'view' || isme == false"></el-input>
+                        </el-form-item>
+                        <!--10.添加联系电话-->
+                        <el-form-item label="联系电话:" :label-width="formLabelWidth" class="custom-align-right" v-if="pageMode == 'add'">
+                            <el-input v-model="form.telephone" autocomplete="off" placeholder="请输入联系电话"></el-input>
+                        </el-form-item>
+                        <!--10.编辑联系电话-->
+                        <el-form-item label="联系电话:" :label-width="formLabelWidth" class="custom-align-right" v-else>
+                            <el-input v-model="form.telephone" autocomplete="off" placeholder="请输入联系电话" :disabled="pageMode == 'view' || isme == false"></el-input>
+                        </el-form-item>
+                        <!--11.添加邮箱-->
+                        <el-form-item label="邮箱:" :label-width="formLabelWidth" class="custom-align-right" v-if="pageMode == 'add'">
+                            <el-input v-model="form.email" autocomplete="off" placeholder="请输入邮箱"></el-input>
+                        </el-form-item>
+                        <!--11.编辑邮箱-->
+                        <el-form-item label="邮箱:" :label-width="formLabelWidth" class="custom-align-right" v-else>
+                            <el-input v-model="form.email" autocomplete="off" placeholder="请输入邮箱" :disabled="pageMode == 'view' || isme == false"></el-input>
+                        </el-form-item>
+                        <!--12.添加地址-->
+                        <el-form-item label="地址:" :label-width="formLabelWidth" class="custom-align-right" v-if="pageMode == 'add'">
+                            <el-input type="textarea" maxlength="200" :autosize="{ minRows: 4}" v-model="form.address" autocomplete="off" placeholder="请输入地址"></el-input>
+                        </el-form-item>
+                        <!--12.编辑地址-->
+                        <el-form-item label="地址:" :label-width="formLabelWidth" class="custom-align-right" v-else>
+                            <el-input type="textarea" maxlength="200" :autosize="{ minRows: 4}" v-model="form.address" autocomplete="off" placeholder="请输入地址" :disabled="pageMode == 'view' || isme == false"></el-input>
+                        </el-form-item>
+                        <!--13.添加地区-->
+                        <div v-if="pageMode == 'add'">
+                            <el-form-item label="地区:" class="custom-align-right">
+                                <div class="regionBox">
+                                    <div>
+                                        <el-select v-model="form.province_id" placeholder="请选择省" @change="province_change">
+                                            <el-option v-for="item in province_array" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                                        </el-select>
+                                    </div>
+                                    <div>
+                                        <el-select v-model="form.city_id" placeholder="请选择市" @change="city_change">
+                                            <el-option v-for="item in city_array" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                                        </el-select>
+                                    </div>
+                                    <div>
+                                        <el-select v-model="form.county_id" placeholder="请选择县">
+                                            <el-option v-for="item in county_array" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                                        </el-select>
+                                    </div>
+                                </div>
+                            </el-form-item>
+                        </div>
+                        <!--13.编辑地区-->
+                        <div v-else>
+                            <el-form-item label="地区:" class="custom-align-right">
+                                <div class="regionBox">
+                                    <div>
+                                        <el-select v-model="form.province_id" placeholder="请选择省" @change="province_change" :disabled="pageMode == 'view' || isme == false">
+                                            <el-option v-for="item in province_array" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                                        </el-select>
+                                    </div>
+                                    <div>
+                                        <el-select v-model="form.city_id" placeholder="请选择市" @change="city_change" :disabled="pageMode == 'view' || isme == false">
+                                            <el-option v-for="item in city_array" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                                        </el-select>
+                                    </div>
+                                    <div>
+                                        <el-select v-model="form.county_id" placeholder="请选择县" :disabled="pageMode == 'view' || isme == false">
+                                            <el-option v-for="item in county_array" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                                        </el-select>
+                                    </div>
+                                </div>
+                            </el-form-item>
+                        </div>
+                    </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 != 'view' && isme == true">编辑</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()
+            }
+        }
+        let self = this;
+        return {
+            isme:false,//是否是自己发布的
+            pageMode: 'add',//页面模式 add=新建 edit=编辑 view=查看
+            pageName: 'messageReviewList',//页面名称
+            formLabelWidth: '120px',
+            creatNews_user_type: 0,//用户身份
+            tags: [],//标签数组
+            province_array:[],//省列表
+            city_array:[],//市列表
+            county_array:[],//县列表
+            imgUrl:"",//缩略图
+            hovering: false,//鼠标悬浮状态 悬浮时显示删除
+            form: {
+                title:"",//网站导航
+                cate_name:"官网导航",//栏目名称
+                type_id:"",//类型id 1:党委;2:人大;3:政府;4:政协;5:公安;6:检察院;7:法院;8:司法;9:纪检监察;10:信访;11:政法委;12:国安;
+                img_url:"",//缩略图
+                keyword:"",//关键词
+                description:"",//描述
+                content:"",//内容
+                web_url:"",//网站地址
+                organizer:"",//主办单位
+                telephone:"",//电话
+                email:"",//邮箱
+                address:"",//地址
+                province_id:"",//省id
+                city_id:"",//市id
+                county_id:"",//县id
+            },
+            formRules: {
+                title: [{ required: true, trigger: 'blur', validator: validateEmpty }],
+                content: [{ required: true, trigger: 'blur', validator: validateEmpty }],
+            },
+        };
+    },
+    methods: {
+        //拆解标签
+        updateTags(newTags) {
+            this.tags = newTags;
+            this.form.keyword = newTags.join(',');
+        },
+        //提交表单
+        addToServe() {
+            //表单验证
+            this.$refs.form.validate(valid => {
+                if (valid) {
+                    this.$store.dispatch('news/addWebCateinfo',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() {
+            this.form.id = this.$route.query.id;
+            //表单验证
+            this.$refs.form.validate(valid => {
+                if (valid) {
+                    this.$store.dispatch('news/upWebCateinfo',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.form.title = "";
+            this.form.cate_name = "官网导航";
+            this.form.type_id = "";
+            this.form.img_url = "";
+            this.form.keyword = "";
+            this.form.description = "";
+            this.form.content = "";
+            this.form.web_url = "";
+            this.form.organizer = "";
+            this.form.telephone = "";
+            this.form.email = "";
+            this.form.address = "";
+            this.form.province_id = "";
+            this.form.city_id = "";
+            this.form.county_id = "";
+            //删除编辑id
+            delete this.form.id;
+        },
+        //回显数据
+        getMainData(id) {
+            this.$store.dispatch('news/getWebCateinfoDetail',{id:id}).then(res => {
+                if(res.code == 200) {
+                    //判断当前的留言是否是自己发布的
+                    if(res.data.user_id == this.$store.state.user.userid) {
+                        this.isme = true;
+                    } else {
+                        this.isme = false;
+                    }
+                    //还原省
+                    this.form.province_id = res.data.province_id;
+                    //如果市不为空
+                    if(res.data.city_id != "") {
+                        this.province_change(res.data.province_id,res.data.city_id)
+                    }
+                    //如果县不为空
+                    if(res.data.county_id){
+                        this.city_change(res.data.city_id,res.data.county_id)
+                    }
+                    //还原内容
+                    setTimeout(() => {
+                        this.form.content = res.data.content;
+                    }, 100);
+                    //还原其他内容
+                    this.form.title = res.data.title;
+                    this.form.type_id = res.data.type_id;
+                    this.form.description = res.data.description;
+                    this.form.web_url = res.data.web_url;
+                    this.form.organizer = res.data.organizer;
+                    this.form.address = res.data.address;
+                    this.form.telephone = res.data.telephone;
+                    this.form.email = res.data.email;
+                    //关键词
+                    this.form.keyword = res.data.keyword;
+                    this.tags = res.data.keyword.split(',');
+                    //缩略图
+                    this.form.img_url = res.data.img_url;
+                    this.imgUrl = res.data.img_url;
+                } else {
+                    this.$message.error(res.message);
+                }
+            })
+        },
+        //上传图片
+        beforeAvatarUpload(file,type) {
+            const isJPG = file.type === 'image/jpeg';
+            const isPNG = file.type === 'image/png';
+            const isGIF = file.type === 'image/gif';
+            const isLt2M = file.size / 1024 / 1024 < 2;
+            if (!isJPG && !isPNG && !isGIF) {
+                this.$message.error('上传缩略图只能是 JPG 或 PNG 或 GIF 格式!');
+                return false;
+            }
+            if (!isLt2M) {
+                this.$message.error('上传缩略图大小不能超过 2MB!');
+                return false;
+            }
+            const formData = new FormData();
+            formData.append('file', file);
+            this.$store.dispatch('pool/uploadFile', formData).then(res => {
+                this.imgUrl = res.data.imgUrl;//显示缩略图
+                this.form.img_url = res.data.imgUrl;//提供表单地址
+            }).catch(() => {
+                this.$message({
+                    type: 'info',
+                    message: '网络错误,请重试!'
+                });
+            })
+            // 阻止默认的上传行为
+            return false;
+        },
+        //删除图片
+        handleDelete() {
+            this.form.img_url = '';
+            this.imgUrl = '';
+        },
+        //返回上一级
+        returnPage(){
+            let pagename = this.$route.query.page
+            console.log(this.$route.query.page)
+            this.$router.push({
+                path: "/" + pagename,
+            })
+        },
+        //获得省
+        get_provinceid(value) {
+            this.$store.dispatch('news/getJobRecruitingArea').then(res => {
+                this.province_array = res.data;
+            })
+        },
+        //获得市
+        province_change(value,city_id) {
+            this.form.city_id = ''; // 清空城市选择
+            this.form.county_id = ''; // 清空县选择
+            this.$store.dispatch('news/getJobRecruitingArea', { pid: value }).then(res => {
+                this.city_array = res.data;
+                if(city_id){
+                    this.form.city_id = city_id;
+                }
+            })
+        },
+        //获得县
+        city_change(value,county_id) {
+            this.form.county_id = ''; // 清空县选择
+            this.$store.dispatch('news/getJobRecruitingArea', { pid: value }).then(res => {
+                this.county_array = res.data;
+                if(county_id){
+                    this.form.county_id = county_id;
+                }
+            })
+        },
+    },
+    mounted() {
+        //1.清理表单
+        this.cleatForm();
+        //2.获得用户身份
+        this.creatNews_user_type = getUseType()
+        //3.获得站点id
+        this.websiteid = getWebSiteId()
+        //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)
+        }
+        //5.4 获得所有省
+        this.get_provinceid();
+    }
+};
+</script>
+
+<style scoped lang="less">
+//同行人员 start ------------------------------------------------------------>
+.personListBox {
+    display: flex;
+    align-items: center;
+    justify-items: space-between;
+    border-radius: 4px;
+    .personLiTitle {
+        background: #f0f2f5;
+        width: 100%;
+        display: flex;
+        align-items: center;
+        justify-items: space-between;
+        padding: 0 10px;
+        border-radius: 4px;
+        border:1px solid #DCDFE6;
+        border-bottom-left-radius: 0;
+        border-bottom-right-radius: 0;
+    }
+    .personLi {
+        width: 100%;
+        display: flex;
+        align-items: center;
+        justify-items: space-between;
+        font-size: 14px;
+        .personLiId {
+            width: 100px;
+            text-align: center;
+        }
+        .personLiName {
+            width: 150px;
+            text-align: center;
+        }
+    }
+    .personOption {
+        span {
+            width: 20px;
+            height: 20px;
+            text-align: center;
+            background-color:#67c23a;
+            color: #fff;
+            cursor: pointer;
+            display: flex;
+            align-items: center;
+            justify-content: center;
+            border-radius: 4px;
+        }
+    }
+}
+.personLiList {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    padding: 0 10px;
+    border:1px solid #DCDFE6;
+    border-top: 0;
+    width: 100%;
+    .personLi {
+        display: flex;
+        align-items: center;
+        justify-items: space-between;
+        .personLiId {
+            width: 100px;
+            text-align: center;
+        }
+        .personLiName {
+            width: 150px;
+            text-align: center;
+        }
+    }
+    .personOption {
+        span {
+            width: 20px;
+            height: 20px;
+            text-align: center;
+            background-color:#f56c6c;
+            color: #fff;
+            cursor: pointer;
+            display: flex;
+            align-items: center;
+            justify-content: center;
+            border-radius: 4px;
+        }
+    }
+}
+//同行人员 end ------------------------------------------------------------>
+//选择同行人员弹窗 start ------------------------------------------------------------>
+.personDialogOption {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    margin-bottom: 20px;
+    .personDialogOptionItem {
+        width: 50%;
+        display: flex;
+        align-items: center;
+        span {
+            white-space: nowrap;
+            margin-right: 10px;
+        }
+        padding-right: 10px;
+    }
+}
+//选择同行人员弹窗 end ------------------------------------------------------------>
+//缩略图
+.avatarView {
+    width: 140px;
+    height: auto;
+    border-radius: 10px;
+    display: block;
+    border: 1px solid #dfe4ed;
+    height: 135px;
+}
+.uploaderBox {
+    .avatar {
+        width: 140px;
+        height: auto;
+    }
+    .chooseImgDiv {
+        background-color: #fff;
+        img {
+            display: inline-block;
+        }
+    }
+}
+//地区 start ------------------------------------------------------------>
+.regionBox {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    >div{
+        width: 33%;
+    }
+}
+//地区 end ------------------------------------------------------------>
+.contentBox {
+    padding: 5px 15px;
+    border: 1px solid #DCDFE6;
+    border-radius: 4px;
+    background: #F5F7FA;
+    color: #C0C4CC;
+    ::v-deep * {
+        color: #C0C4CC;
+    }
+}
+.custom-textarea-height {
+    ::v-deep .el-textarea__inner {
+        height: 100px;
+        resize: none;
+        /* 禁止用户拖拽调整大小 */
+    }
+}
+//执行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>

+ 302 - 0
src/views/news/officialNavList.vue

@@ -0,0 +1,302 @@
+<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="400"></el-table-column>
+                        <el-table-column prop="cate_name" label="栏目名称" ></el-table-column>
+                        <el-table-column prop="updated_at" label="修改时间" ></el-table-column>
+                        <el-table-column prop="status" label="状态" width="100">
+                            <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 prop="nickname" label="发布人" ></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="scope.row.is_update == 0">
+                                        <i class="el-icon-view"></i>查看
+                                    </div>
+                                    <div class="listEditBtn" @click="gotoEdit(scope.row.id)" v-if="scope.row.is_update == 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:已审核;2:已拒绝;3:未审核;
+                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/getWebCateinfoList', this.getApiData).then(res => {
+                //列表
+                this.tableData = res.data.rows;
+                //页数
+                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/delWebCateinfo', {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.$confirm('此操作将撤回该条数据至待审核列表, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                console.log("当前撤回:" + id)
+                let data = {
+                    id:id,
+                    status:0,
+                    reason:""
+                }
+                this.$store.dispatch('news/checkWebCateinfo', 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.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: '/officialNavAdd',
+                query: {
+                    type: 'add',
+                    page: 'officialNavList'
+                }
+            });
+        },
+        //编辑
+        gotoEdit(id) {
+            this.$router.push({
+                path: '/officialNavAdd',
+                query: {
+                    id: id,
+                    type: 'edit',
+                    page: 'officialNavList'
+                }
+            });
+        },
+        //查看
+        getDataMain(id) {
+            this.$router.push({
+                path: '/officialNavAdd',
+                query: {
+                    id: id,
+                    type: 'view',
+                    page: 'officialNavList'
+                }
+            });
+        },
+        //跳转到添加留言页面 end ------------------------------------------------------------>
+    },
+    mounted() {
+        //获得第一页
+        this.getData();
+        //1.获得用户身份
+        this.creatNews_user_type = getUseType()
+        //2.获得站点id
+        this.getApiData.website_id = getWebSiteId();
+    },
+}
+</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>

+ 321 - 0
src/views/news/officialNavReview.vue

@@ -0,0 +1,321 @@
+<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.title" />
+                        </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="11">
+                        <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="500"></el-table-column>
+                        <el-table-column prop="cate_name" label="栏目名称" ></el-table-column>
+                        <el-table-column prop="updated_at" label="修改时间" ></el-table-column>
+                        <el-table-column prop="nickname" label="发布人" ></el-table-column>
+                        <el-table-column prop="status" label="状态" width="100">
+                            <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="listRefuseBtn" @click="refuseData(scope.row.id)" v-if="creatNews_user_type==10000">
+                                        <i class="el-icon-close"></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)" v-if="scope.row.is_update == 1">
+                                        <i class="el-icon-edit-outline"></i>编辑
+                                    </div>
+                                    <div class="listMainBtn" @click="getDataMain(scope.row.id)" v-else>
+                                        <i class="el-icon-view"></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 {
+            userid:0,//用户id
+            creatNews_user_type:0,//用户身份
+            //1.列表和分页相关 start ------------------------------------------------------------>
+            tableDivTitle: "待审核列表",
+            tableData: [],//内容
+            getApiData: {
+                is_master: "0",//是否审核列表 0:全部 1:已审核;2:已拒绝;3:未审核;
+                title: "",//留言标题
+                page: 1,//当前是第几页
+                page_size: 10,//一共多少条
+            },
+            allCount: 0,//总条数
+            //分页相关 end ------------------------------------------------------------>
+        }
+    },
+    methods: {
+        //1.列表和分页相关 start ------------------------------------------------------------>
+        //1.1 开始请求列表信息方法
+        getData(type) {
+            //如果是搜索,重新加载第一页==搜索
+            if (type == "search") {
+                this.getApiData.page = 1;
+            }
+            this.$store.dispatch('news/getWebCateinfoList', this.getApiData).then(res => {
+                //列表
+                this.tableData = res.data.rows;
+                //页数
+                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/delWebCateinfo', {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/checkWebCateinfo', 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: '已取消操作'
+                });
+            });
+        },
+        refuseData(id){
+            this.$prompt('请输入拒绝理由', '拒绝', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                inputPlaceholder: '请输入拒绝理由',
+                inputPattern: /\S+/, // 匹配非空内容(至少一个非空白字符)
+                inputErrorMessage: '拒绝理由不能为空'
+            }).then(({ value }) => {
+                let data = {
+                    id:id,
+                    status:2,
+                    reason:value
+                }
+                this.$store.dispatch('news/checkWebCateinfo', data).then(res => {
+                    if(res.code == 200) {
+                        this.$message({
+                            type: 'success',
+                            message: '已拒绝该留言!'
+                        });
+                        this.getData();
+                    } else {
+                        this.$message.error(res.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.title = "";
+            this.getApiData.page = 1;
+            this.getApiData.pageSize = 10;
+            this.getApiData.is_master = "0";
+            this.getApiData.due_time = "";
+            this.getData();
+        },
+        //列表和分页相关 end ------------------------------------------------------------>
+        //跳转到添加留言页面 start ------------------------------------------------------------>
+        //编辑
+        gotoEdit(id) {
+            this.$router.push({
+                path: '/officialNavAdd',
+                query: {
+                    id: id,
+                    type: 'edit',
+                    page: 'officialNavReview'
+                }
+            });
+        },
+        //查看
+        getDataMain(id) {
+            this.$router.push({
+                path: '/officialNavAdd',
+                query: {
+                    id: id,
+                    type: 'view',
+                    page: 'officialNavReview'
+                }
+            });
+        },
+        //跳转到添加留言页面 end ------------------------------------------------------------>
+    },
+    mounted() {
+        //获得第一页
+        this.getData();
+        //1.获得用户身份
+        this.creatNews_user_type = getUseType();
+        //2.获得站点id
+        this.getApiData.website_id = getWebSiteId();
+        //3.获得用户id
+        this.userid = this.$store.state.user.userid;
+    },
+}
+</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>

+ 7 - 2
src/views/news/topicList.vue

@@ -34,7 +34,12 @@
                     <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="400"></el-table-column>
-                        <el-table-column prop="nickname" label="申报人" ></el-table-column>
+                        <el-table-column prop="nickname" label="申报人" >
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.real_name!=''">{{ scope.row.real_name }}</span>
+                                <span v-else>{{ scope.row.user_name }}</span>
+                            </template>
+                        </el-table-column>
                         <el-table-column prop="txry_users" label="同行人" ></el-table-column>
                         <el-table-column prop="updated_at" label="修改时间" ></el-table-column>
                         <el-table-column prop="status" label="状态" width="100">
@@ -105,7 +110,7 @@ export default {
         //0.全局操作 end ------------------------------------------------------------>
         return {
             //1.列表和分页相关 start ------------------------------------------------------------>
-            tableDivTitle: "留言列表",
+            tableDivTitle: "选题列表",
             tableData: [],//内容
             getApiData: {
                 //website_id:0,//站点id

+ 2 - 2
src/views/news/topicReview.vue

@@ -49,7 +49,7 @@
                 <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="500"></el-table-column>
+                        <el-table-column prop="title" label="调研标题" width="500"></el-table-column>
                         <el-table-column prop="txry_users" label="同行人" ></el-table-column>
                         <el-table-column prop="updated_at" label="修改时间" ></el-table-column>
                         <el-table-column prop="status" label="状态" width="100">
@@ -126,7 +126,7 @@ export default {
             userid:0,//用户id
             creatNews_user_type:0,//用户身份
             //1.列表和分页相关 start ------------------------------------------------------------>
-            tableDivTitle: "留言列表",
+            tableDivTitle: "待审核列表",
             tableData: [],//内容
             getApiData: {
                 //website_id: 0,

+ 5 - 1
src/views/website/addWebsite.vue

@@ -1296,7 +1296,11 @@ export default {
                 console.log(res.data.title, res.data.keywords, res.data.description)
                 this.form.title = res.data.title;
                 this.form.keywords = res.data.keywords;
-                this.form.web_type = res.data.web_type;
+                if(res.data.web_type==0){
+                    this.form.web_type = ""
+                }else{
+                    this.form.web_type = res.data.web_type
+                }
                 this.form.is_core = res.data.is_core;
                 this.tags = res.data.keywords ? res.data.keywords.split(',') : [];
                 this.form.description = res.data.description;