caichengyu 7 mēneši atpakaļ
vecāks
revīzija
5b0b8ac776

+ 39 - 0
src/newApi/notification.js

@@ -95,4 +95,43 @@ export default {
             data
         })
     },
+    //政策新闻列表
+    consultationlist(data) {
+        return request({
+            url: '/consultation/list',
+            method: 'get',
+            params: data
+        })
+    },
+    //政策新闻-新增
+    consultationsave(data) {
+        return request({
+            url: '/consultation/save',
+            method: 'post',
+            data
+        })
+    },
+    //政策新闻-详情
+    consultationdetails(data) {
+        return request({
+            url: `/consultation/details/` + data,
+            method: 'get',
+        })
+    },
+    //政策新闻-修改
+    consultationupdate(data) {
+        return request({
+            url: '/consultation/update',
+            method: 'post',
+            data
+        })
+    },
+    //政策新闻-删除/停用/启用
+    consultationdel(data) {
+        return request({
+            url: '/consultation/batch/del',
+            method: 'post',
+            data
+        })
+    },
 }

+ 1 - 1
src/store/modules/tagsView.js

@@ -2,7 +2,7 @@ import { MessageBox } from 'element-ui';
 const state = {
   visitedViews: [],
   cachedViews: [],
-  alertPage: ["CommodityManageMentAdd", "CommodityManageMentEdit", "FestivalAdd", "FestivalEdit", "ChapterAdd", "ChapterEdit", "ModuleManagementAdd", "ModuleManagementEdit", "BasicInfoEdit", "BasicInfoAdd", "ChapterContent", "EditCourse", "OrderDetail", "OrderPrice", "AddOrder", "EditPaper", "AddPaper", "TopicAddPaper", "ChapterVolumeManagementEdit", "ChapterVolumeManagementAdd", "VolumeManagementAdd", "VolumeManagementEdit", "HandoutListEdit", "HandoutListAdd", "StudentXQ", "AddClass", "ManageClass", "NotificationInfo", "NotificationListAdd", "NotificationEdit", "BulkImportPlan", "MatchInfoData", "BatchRecord", "OrderChargeInfo", "RefundDocument", "BillingBillCharges", "AddMockExam", "EditMockExam","RecordQusetion","CommoditySetTeacher"],
+  alertPage: ["CommodityManageMentAdd", "CommodityManageMentEdit", "FestivalAdd", "FestivalEdit", "ChapterAdd", "ChapterEdit", "ModuleManagementAdd", "ModuleManagementEdit", "BasicInfoEdit", "BasicInfoAdd", "ChapterContent", "EditCourse", "OrderDetail", "OrderPrice", "AddOrder", "EditPaper", "AddPaper", "TopicAddPaper", "ChapterVolumeManagementEdit", "ChapterVolumeManagementAdd", "VolumeManagementAdd", "VolumeManagementEdit", "HandoutListEdit", "HandoutListAdd", "StudentXQ", "AddClass", "ManageClass", "NotificationInfo", "NotificationListAdd", "NotificationEdit", "ArticleListAdd", "ArticleEdit", "BulkImportPlan", "MatchInfoData", "BatchRecord", "OrderChargeInfo", "RefundDocument", "BillingBillCharges", "AddMockExam", "EditMockExam","RecordQusetion","CommoditySetTeacher"],
 }
 
 const mutations = {

+ 294 - 0
src/views/education/articleManageMent/articleList/add/index.vue

@@ -0,0 +1,294 @@
+<template>
+    <div id="articleListAdd">
+      <el-row :gutter="20">
+        <el-col :span="16">
+          <el-form
+            :model="listData"
+            :rules="rules"
+            ref="listData"
+            label-width="160px"
+            class="demo-ruleForm"
+          >
+            <el-form-item label="新闻分类:" prop="type">
+              <el-select
+                v-model="listData.type"
+                placeholder="请选择新闻分类"
+              >
+                <el-option label="开班消息" :value="3"></el-option>
+                <el-option label="政策法规" :value="1"></el-option>
+                <el-option label="通知通告" :value="2"></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="新闻标题:" prop="title">
+              <el-input v-model="listData.title"></el-input>
+            </el-form-item>
+            <el-form-item label="状态:" prop="status">
+              <el-radio-group v-model="listData.status">
+                <el-radio :label="1">正常</el-radio>
+                <el-radio :label="0">停用</el-radio>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item label="排序:" prop="sort">
+              <el-input v-model="listData.sort"></el-input>
+            </el-form-item>
+            <el-form-item label="新闻内容:" prop="titleContent">
+              <editor
+                v-model="listData.titleContent"
+                :min-height="150"
+                :max-height="500"
+                :uploadStatus="uploadStatus"
+              />
+            </el-form-item>
+          </el-form>
+        </el-col>
+        <el-col :span="24" style="text-align: center; margin-top: 14px">
+          <el-button @click="backPage">取消</el-button>
+          <el-button type="primary" @click="submit('listData', 1)"
+            >保存</el-button
+          >
+        </el-col>
+      </el-row>
+    </div>
+  </template>
+  
+  <script>
+  import { mapGetters } from "vuex";
+  import Editor from "@/components/Editor";
+  export default {
+    name: "ArticleListAdd",
+    components: { Editor },
+    data() {
+      return {
+        listData: {
+          type: 1,
+          status: 0,
+          title: "",
+          sort: 100,
+          titleContent: "",
+        },
+        arrays: [],
+        loadingBox: true,
+        rules: {
+          type: [
+            { required: true, message: "请选择新闻分类", trigger: "change" },
+          ],
+          title: [
+            { required: true, message: "请输入新闻标题", trigger: "blur" },
+          ],
+          status: [
+            { required: true, message: "请选择状态", trigger: "change" },
+          ],
+          titleContent: [
+            { required: true, message: "请输入公告详情", trigger: "blur" },
+          ],
+        },
+        options: [],
+        uploadStatus: 2,
+      };
+    },
+    computed: {
+      compTimes: function () {
+        return function (aTime) {
+          let chasTime = this.$methodsTools.secondToDate(aTime, false);
+          return `00:00:00 - ${chasTime}`;
+        };
+      },
+    },
+    watch: {
+      
+    },
+    mounted() {
+      
+    },
+    methods: {
+    
+      //返回上一页
+      backPage() {
+        this.$store.dispatch("tagsView/delView", this.$route).then((res) => {
+          this.$router.push({
+            path: "articleList",
+          });
+        });
+      },
+      //表单验证
+      submit(formName, int) {
+        this.$refs[formName].validate((valid) => {
+          if (valid) {
+            this.submits();
+          } else {
+            console.log("error submit!!");
+            return false;
+          }
+        });
+      },
+      //验证通过提交处理
+      submits()  {
+          var data = this.listData;
+          this.$api.consultationsave(data).then((res) => {
+          this.$message.success("保存成功");
+          this.$store.dispatch("tagsView/exitView", this.$route).then((res) => {
+            this.$router.push({
+              path: "articleList",
+            });
+          });
+        });
+      },
+  
+    },
+  };
+  </script>
+  
+  <style lang="less" scoped>
+  .list-complete-enter, .list-complete-leave-to
+  /* .list-complete-leave-active for below version 2.1.8 */ {
+    opacity: 0;
+    transform: translateY(30px);
+  }
+  .list-complete-leave-active {
+    position: absolute;
+  }
+  .ul_styHide {
+    max-height: 146px;
+    overflow: auto;
+    padding-right: 20px;
+  }
+  .liStyle_people {
+    background-color: #fff;
+    margin-right: 6px;
+    margin-bottom: 6px;
+    float: left;
+    border: 1px solid #999;
+    padding: 0px 10px;
+    font-size: 14px;
+    border-radius: 8px;
+    height: 30px;
+    color: #666;
+    line-height: 30px;
+    user-select: none;
+    transition: all 0.6s;
+    cursor: pointer;
+    overflow: hidden;
+    position: relative;
+    &:hover .iconStyle {
+      z-index: 1;
+      display: block;
+    }
+  }
+  .iconStyle {
+    display: none;
+    position: absolute;
+    top: 0;
+    right: 0;
+    text-align: center;
+    color: #f56c6c;
+    width: 100%;
+    line-height: 30px;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.6);
+  }
+  /deep/ .filter-tree {
+    max-height: 600px;
+    overflow-y: auto;
+  }
+  ul {
+    margin: 0px;
+  }
+  .sharks {
+    word-wrap: break-word;
+  }
+  .dis_flex {
+    display: flex;
+    align-items: center;
+    flex-wrap: wrap;
+  }
+  /deep/.el-button {
+    border-radius: 8px;
+  }
+  /deep/.el-dialog {
+    border-radius: 8px;
+    .el-dialog__header {
+      padding: 0;
+      .hearders {
+        height: 40px;
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        padding: 0px 18px 0px 20px;
+        border-bottom: 1px solid #e2e2e2;
+        .leftTitle {
+          font-size: 14px;
+          font-weight: bold;
+          color: #2f4378;
+        }
+        .rightBoxs {
+          display: flex;
+          align-items: center;
+          img {
+            width: 14px;
+            height: 14px;
+            margin-left: 13px;
+            cursor: pointer;
+          }
+        }
+      }
+    }
+    .el-dialog__footer {
+      padding: 0;
+      .dialog-footer {
+        padding: 0px 40px;
+        height: 70px;
+        border-top: 1px solid #e2e2e2;
+        display: flex;
+        align-items: center;
+        justify-content: flex-end;
+      }
+    }
+  }
+  .imgBox {
+    width: 100%;
+    // height: 210px;
+    border: 1px solid #e2e2e2;
+    border-radius: 8px;
+    padding: 8px 8px 3px;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    .imgLabel {
+      flex: 1;
+      width: 100%;
+      border: 1px dotted #e2e2e2;
+      color: #999;
+      font-size: 14px;
+      cursor: pointer;
+      border-radius: 8px;
+      .msPhoto {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        max-width: 100%;
+        max-height: 270px;
+        img {
+          max-width: 100%;
+          max-height: 270px;
+        }
+      }
+      .imgbbx {
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        justify-content: center;
+        width: 100%;
+        height: 100%;
+        i {
+          font-weight: bold;
+          margin: 14px 0;
+          font-size: 24px;
+        }
+      }
+    }
+    p {
+      margin: 5px 0px;
+    }
+  }
+  </style>
+  

+ 305 - 0
src/views/education/articleManageMent/articleList/edit/index.vue

@@ -0,0 +1,305 @@
+<template>
+    <div id="articleEdit">
+      <el-row :gutter="20">
+        <el-col :span="16">
+          <el-form
+            :model="listData"
+            :rules="rules"
+            ref="listData"
+            label-width="160px"
+            class="demo-ruleForm"
+          >
+            <el-form-item label="新闻分类:" prop="type">
+              <el-select
+                v-model="listData.type"
+                placeholder="请选择新闻分类"
+              >
+                <el-option label="开班消息" :value="3"></el-option>
+                <el-option label="政策法规" :value="1"></el-option>
+                <el-option label="通知通告" :value="2"></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="新闻标题:" prop="title">
+              <el-input v-model="listData.title"></el-input>
+            </el-form-item>
+            <el-form-item label="状态:" prop="status">
+              <el-radio-group v-model="listData.status">
+                <el-radio :label="1">正常</el-radio>
+                <el-radio :label="0">停用</el-radio>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item label="排序:" prop="sort">
+              <el-input v-model="listData.sort"></el-input>
+            </el-form-item>
+            <el-form-item label="新闻内容:" prop="titleContent">
+              <editor
+                v-model="listData.titleContent"
+                :min-height="150"
+                :max-height="500"
+                :uploadStatus="uploadStatus"
+              />
+            </el-form-item>
+          </el-form>
+        </el-col>
+        <el-col :span="24" style="text-align: center; margin-top: 14px">
+          <el-button @click="backPage">取消</el-button>
+          <el-button type="primary" @click="submit('listData', 1)"
+            >保存</el-button
+          >
+        </el-col>
+      </el-row>
+    </div>
+  </template>
+  
+  <script>
+  import { mapGetters } from "vuex";
+  import Editor from "@/components/Editor";
+  export default {
+    name: "ArticleEdit",
+    components: { Editor },
+    data() {
+      return {
+        listData: {
+          type: 1,
+          status: 0,
+          title: "",
+          sort: 100,
+          titleContent: "",
+        },
+        arrays: [],
+        loadingBox: true,
+        rules: {
+          type: [
+            { required: true, message: "请选择新闻分类", trigger: "change" },
+          ],
+          title: [
+            { required: true, message: "请输入新闻标题", trigger: "blur" },
+          ],
+          status: [
+            { required: true, message: "请选择状态", trigger: "change" },
+          ],
+          titleContent: [
+            { required: true, message: "请输入公告详情", trigger: "blur" },
+          ],
+        },
+        options: [],
+        uploadStatus: 2,
+      };
+    },
+    computed: {
+      compTimes: function () {
+        return function (aTime) {
+          let chasTime = this.$methodsTools.secondToDate(aTime, false);
+          return `00:00:00 - ${chasTime}`;
+        };
+      },
+    },
+    watch: {
+      
+    },
+    mounted() {
+        this.init();
+    },
+    methods: {
+      init(){
+        this.$api
+        .consultationdetails(this.$route.query.id )
+        .then((res) => {
+            this.listData = res.data;
+        })
+        .finally(() => {
+          this.$nextTick(() => {
+            this.$modal.closeLoading();
+          });
+        });
+      },
+      //返回上一页
+      backPage() {
+        this.$store.dispatch("tagsView/delView", this.$route).then((res) => {
+          this.$router.push({
+            path: "articleList",
+          });
+        });
+      },
+      //表单验证
+      submit(formName, int) {
+        this.$refs[formName].validate((valid) => {
+          if (valid) {
+            this.submits();
+          } else {
+            console.log("error submit!!");
+            return false;
+          }
+        });
+      },
+      //验证通过提交处理
+      submits()  {
+          var data = this.listData;
+          this.$api.consultationupdate(data).then((res) => {
+          this.$message.success("保存成功");
+          this.$store.dispatch("tagsView/exitView", this.$route).then((res) => {
+            this.$router.push({
+              path: "articleList",
+            });
+          });
+        });
+      },
+  
+    },
+  };
+  </script>
+  
+  <style lang="less" scoped>
+  .list-complete-enter, .list-complete-leave-to
+  /* .list-complete-leave-active for below version 2.1.8 */ {
+    opacity: 0;
+    transform: translateY(30px);
+  }
+  .list-complete-leave-active {
+    position: absolute;
+  }
+  .ul_styHide {
+    max-height: 146px;
+    overflow: auto;
+    padding-right: 20px;
+  }
+  .liStyle_people {
+    background-color: #fff;
+    margin-right: 6px;
+    margin-bottom: 6px;
+    float: left;
+    border: 1px solid #999;
+    padding: 0px 10px;
+    font-size: 14px;
+    border-radius: 8px;
+    height: 30px;
+    color: #666;
+    line-height: 30px;
+    user-select: none;
+    transition: all 0.6s;
+    cursor: pointer;
+    overflow: hidden;
+    position: relative;
+    &:hover .iconStyle {
+      z-index: 1;
+      display: block;
+    }
+  }
+  .iconStyle {
+    display: none;
+    position: absolute;
+    top: 0;
+    right: 0;
+    text-align: center;
+    color: #f56c6c;
+    width: 100%;
+    line-height: 30px;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.6);
+  }
+  /deep/ .filter-tree {
+    max-height: 600px;
+    overflow-y: auto;
+  }
+  ul {
+    margin: 0px;
+  }
+  .sharks {
+    word-wrap: break-word;
+  }
+  .dis_flex {
+    display: flex;
+    align-items: center;
+    flex-wrap: wrap;
+  }
+  /deep/.el-button {
+    border-radius: 8px;
+  }
+  /deep/.el-dialog {
+    border-radius: 8px;
+    .el-dialog__header {
+      padding: 0;
+      .hearders {
+        height: 40px;
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        padding: 0px 18px 0px 20px;
+        border-bottom: 1px solid #e2e2e2;
+        .leftTitle {
+          font-size: 14px;
+          font-weight: bold;
+          color: #2f4378;
+        }
+        .rightBoxs {
+          display: flex;
+          align-items: center;
+          img {
+            width: 14px;
+            height: 14px;
+            margin-left: 13px;
+            cursor: pointer;
+          }
+        }
+      }
+    }
+    .el-dialog__footer {
+      padding: 0;
+      .dialog-footer {
+        padding: 0px 40px;
+        height: 70px;
+        border-top: 1px solid #e2e2e2;
+        display: flex;
+        align-items: center;
+        justify-content: flex-end;
+      }
+    }
+  }
+  .imgBox {
+    width: 100%;
+    // height: 210px;
+    border: 1px solid #e2e2e2;
+    border-radius: 8px;
+    padding: 8px 8px 3px;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    .imgLabel {
+      flex: 1;
+      width: 100%;
+      border: 1px dotted #e2e2e2;
+      color: #999;
+      font-size: 14px;
+      cursor: pointer;
+      border-radius: 8px;
+      .msPhoto {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        max-width: 100%;
+        max-height: 270px;
+        img {
+          max-width: 100%;
+          max-height: 270px;
+        }
+      }
+      .imgbbx {
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        justify-content: center;
+        width: 100%;
+        height: 100%;
+        i {
+          font-weight: bold;
+          margin: 14px 0;
+          font-size: 24px;
+        }
+      }
+    }
+    p {
+      margin: 5px 0px;
+    }
+  }
+  </style>
+  

+ 502 - 0
src/views/education/articleManageMent/articleList/index.vue

@@ -0,0 +1,502 @@
+<template>
+  <div id="articleList">
+    <search-box-new
+      ref="searchBox"
+      :formData="formData"
+      :formList="formList"
+      @search="search"
+      @init="init"
+    />
+    <table-list
+      rowKey="id"
+      ref="tableList"
+      :tableSets="tableSet"
+      :tableData="tableData"
+      :navText="navText"
+      @addClick="addClickFLs"
+      :loading="loading"
+      @editInfo="editInfo"
+    >
+      <template slot="customize">
+        <el-button :size="size" type="danger" @click="plDel">删除</el-button>
+       
+      </template>
+      <template slot="btn" slot-scope="props">
+        <el-button
+          type="text"
+          @click="editList(props.scope.row)"
+          >修改</el-button
+        >
+        
+        <el-button type="text" @click="del(props.scope.row)">删除</el-button>
+      </template>
+    </table-list>
+    <pagination
+      :total="total"
+      :pageSize="formData.pageSize"
+      :currentPage="formData.pageNum"
+      @handleSizeChange="handleSizeChange"
+      @handleCurrentChange="handleCurrentChange"
+    />
+  </div>
+</template>
+
+<script>
+import searchBoxNew from "@/components/searchBoxNew";
+import tableList from "@/components/tableList";
+import pagination from "@/components/pagination";
+export default {
+  name: "ArticleList",
+  components: { searchBoxNew, tableList, pagination },
+  data() {
+    return {
+      size: "medium",
+      loading: false, //当前表单加载是否加载动画
+      navText: {
+        title: "政策新闻列表",
+        index: 0,
+        ch: "条",
+        border: true,
+        num: true,
+        choice: true,
+        addHide: false,
+        openCheckMore: true,
+        backFatherBtn: {
+          status: false,
+          title: "未定义",
+        },
+      },
+      //搜索
+      formList: [
+        {
+          prop: "type",
+          placeholder: "新闻分类",
+          scope: "select",
+          options: [
+           {
+              label: "全部状态",
+              value: "",
+            },
+            {
+              label: "开班消息",
+              value: 3,
+            },
+            {
+              label: "政策法规",
+              value: 1,
+            },
+            {
+              label: "通知通告",
+              value: 2,
+            },
+          ],
+        },
+        {
+          prop: "status",
+          placeholder: "发布状态",
+          scope: "select",
+          options: [
+            {
+              label: "全部状态",
+              value: "0,1",
+            },
+            {
+              label: "已发布",
+              value: 1,
+            },
+            {
+              label: "已停用",
+              value: 0,
+            },
+          ],
+        },
+        {
+          prop: "title",
+          placeholder: "请输入新闻标题",
+        },
+      ],
+      formData: {
+        status: "",
+        pageSize: 10,
+        pageNum: 1,
+      },
+
+      // 表单
+      tableSet: [
+        {
+          label: "新闻标题",
+          prop: "title",
+          hidden: true,
+        },
+        {
+          label: "分类",
+          prop: "type",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+          {
+              label: "开班消息",
+              value: 3,
+            },
+          {
+              label: "政策法规",
+              value: 1,
+            },
+            {
+              label: "通知通告",
+              value: 2,
+            },
+          ],
+        },
+        {
+          label: "发布状态",
+          prop: "status",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "已发布",
+              value: 1,
+            },
+            {
+              label: "已停用",
+              value: 0,
+            },
+          ],
+        },
+        {
+          label: "创建时间",
+          prop: "createTime",
+          hidden: true,
+          scope: "aTimeList",
+        },
+        {
+          label: "最近更新时间",
+          prop: "updateTime",
+          hidden: true,
+          scope: "aTimeList",
+        },
+        {
+          label: "排序",
+          prop: "sort",
+          hidden: true,
+        },
+       
+      ],
+      tableData: [], //表单数据
+      total: 0, //一共多少条
+    };
+  },
+  mounted() {
+    this.search();
+  },
+  activated() {
+    this.search();
+  },
+  methods: {
+    editList(v) {
+      const jump = () => {
+        this.$router.push({
+          path: "articleEdit",
+          query: {
+            id: v.id,
+          },
+        });
+      };
+      const statusPage = this.$store.state.tagsView.visitedViews.some(
+        (item) => {
+          return item.name == "ArticleEdit";
+        }
+      );
+      if (statusPage) {
+        this.$store
+          .dispatch("tagsView/delCachedView", {
+            name: "ArticleEdit",
+          })
+          .then((res) => {
+            jump();
+          });
+      } else {
+        jump();
+      }
+    },
+    addClickFLs(v, int) {
+      if (v === undefined) {
+        this.$router.push({
+          path: "ArticleListAdd",
+        });
+      } else {
+        if (int === 0) {
+          const jump = () => {
+            this.$router.push({
+              path: "articleInfo",
+              query: {
+                id: v.informId,
+              },
+            });
+          };
+          const statusPage = this.$store.state.tagsView.visitedViews.some(
+            (item) => {
+              return item.name == "ArticleInfo";
+            }
+          );
+          if (statusPage) {
+            this.$store
+              .dispatch("tagsView/delCachedView", {
+                name: "ArticleInfo",
+              })
+              .then((res) => {
+                jump();
+              });
+          } else {
+            jump();
+          }
+        }
+        if (int === 6) {
+          const jump = () => {
+            this.$router.push({
+              path: "articleInfo",
+              query: {
+                id: v.informId,
+                active: 2,
+              },
+            });
+          };
+          const statusPage = this.$store.state.tagsView.visitedViews.some(
+            (item) => {
+              return item.name == "ArticleInfo";
+            }
+          );
+          if (statusPage) {
+            this.$store
+              .dispatch("tagsView/delCachedView", {
+                name: "ArticleInfo",
+              })
+              .then((res) => {
+                jump();
+              });
+          } else {
+            jump();
+          }
+        }
+      }
+    },
+    plDel() {
+      if (!this.$refs.tableList.allCheckData.length) {
+        this.$message.warning("请选择需要删除的新闻");
+        return;
+      }
+      var arst = this.$refs.tableList.allCheckData.map((item) => {
+        return item.id;
+      });
+      this.$alert(
+        "确定删除此内容?<br />内容删除后将无法恢复,请慎重考虑",
+        "提示",
+        {
+          dangerouslyUseHTMLString: true,
+        }
+      )
+        .then(() => {
+          var data = {
+            ids: arst,
+            status: -1,
+          };
+          this.$api.consultationdel(data).then((res) => {
+            this.$message.success("删除成功");
+            this.$refs.tableList.clearMoreActive();
+            this.search();
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消删除",
+          });
+        });
+    },
+    editInfo(v) {
+      this.addClickFLs(v, 6);
+    },
+    
+    search(int) {
+      this.loading = true;
+      if (int === 1) {
+        this.formData.pageNum = 1;
+      }
+      if (int === 2) {
+        this.formData = {
+          status: "",
+          pageSize: 10,
+          pageNum: 1,
+        };
+      }
+      this.$api
+        .consultationlist(this.formData)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          this.navText.index = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    init() {
+      this.search(2);
+    },
+    del(v) {
+      this.$alert(
+        "确定删除此内容?<br />内容删除后将无法恢复,请慎重考虑",
+        "提示",
+        {
+          dangerouslyUseHTMLString: true,
+        }
+      )
+        .then(() => {
+          var data = {
+            ids: [v.id],
+            status: -1,
+          };
+          this.$api.consultationdel(data).then((res) => {
+            this.$message.success("删除成功");
+            this.$refs.tableList.clearMoreActive();
+            this.search();
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消删除",
+          });
+        });
+    },
+    addClick(v, int) {
+      if (v === undefined) {
+        this.listData = {
+          status: 1,
+        };
+      } else {
+        this.listData = JSON.parse(JSON.stringify(v));
+      }
+      this.$nextTick(() => {
+        this.$refs.listData.clearValidate();
+      });
+      this.dialogVisible = true;
+    },
+    submit() {},
+    close() {
+      this.dialogVisible = false;
+    },
+    handleSizeChange(v) {
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
+      this.search();
+    },
+    handleCurrentChange(v) {
+      this.formData.pageNum = v;
+      this.search();
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.custom-tree-node {
+  flex: 1;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  font-size: 14px;
+  padding-right: 8px;
+}
+/deep/.el-button {
+  border-radius: 8px;
+}
+/deep/.el-dialog {
+  border-radius: 8px;
+  .el-dialog__header {
+    padding: 0;
+    .hearders {
+      height: 40px;
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      padding: 0px 18px 0px 20px;
+      border-bottom: 1px solid #e2e2e2;
+      .leftTitle {
+        font-size: 14px;
+        font-weight: bold;
+        color: #2f4378;
+      }
+      .rightBoxs {
+        display: flex;
+        align-items: center;
+        img {
+          width: 14px;
+          height: 14px;
+          margin-left: 13px;
+          cursor: pointer;
+        }
+      }
+    }
+  }
+  .el-dialog__footer {
+    padding: 0;
+    .dialog-footer {
+      padding: 0px 40px;
+      height: 70px;
+      border-top: 1px solid #e2e2e2;
+      display: flex;
+      align-items: center;
+      justify-content: flex-end;
+    }
+  }
+}
+.imgBox {
+  width: 100%;
+  // height: 210px;
+  border: 1px solid #e2e2e2;
+  border-radius: 8px;
+  padding: 8px 8px 3px;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  .imgLabel {
+    flex: 1;
+    width: 100%;
+    border: 1px dotted #e2e2e2;
+    color: #999;
+    font-size: 14px;
+    cursor: pointer;
+    border-radius: 8px;
+    .msPhoto {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      max-width: 100%;
+      max-height: 270px;
+      img {
+        max-width: 100%;
+        max-height: 270px;
+      }
+    }
+    .imgbbx {
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      width: 100%;
+      height: 100%;
+      i {
+        font-weight: bold;
+        margin: 14px 0;
+        font-size: 24px;
+      }
+    }
+  }
+  p {
+    margin: 5px 0px;
+  }
+}
+</style>
+