明梦爽
2022-04-17 5529b7077126be368abd444d45ec085d8c7779e3
src/components/Administrator/Main copy.vue
@@ -2,13 +2,7 @@
  <div>
    <!-- 级联选择器 -->
     <div class="block">
      <el-cascader
        v-model="value"
        :options="options"
        clearable
        filterable
        @change="handleChange">
      </el-cascader>
      <el-cascader v-model="value" :options="options" clearable filterable @change="handleChange"> </el-cascader>
    </div>
    <div>
      <el-card class="box-card">
@@ -25,8 +19,7 @@
          </el-col>
        </el-row>
        <!-- 新闻表格区域 -->
        <el-table v-show="gettable" :data="tableData" border style="width: 100%" :header-cell-style="{textAlign: 'center'}" :cell-style="{ textAlign: 'center' }"
        >
        <el-table v-show="gettable" :data="tableData" border style="width: 100%" :header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
          <!-- :header-cell-style="{textAlign: 'center'}"设置头部居中: -->
          <!-- :cell-style="{ textAlign: 'center' }"设置整个表格内容水平居中: -->
          <!-- 问题:怎么获取数组中每个对象的key值(每条新闻的id)?
@@ -36,12 +29,9 @@
              <span>{{ (currentPage-1)*pageSize+scope.$index+1 }}</span>
            </template>
          </el-table-column>
          <el-table-column prop="releaseTime" label="日期" width="" >
          </el-table-column>
          <el-table-column prop="title" label="新闻标题" width="">
          </el-table-column>
          <el-table-column prop="id" label="id" width="">
          </el-table-column>
          <el-table-column prop="releaseTime" label="日期" width=""> </el-table-column>
          <el-table-column prop="title" label="新闻标题" width=""> </el-table-column>
          <el-table-column prop="id" label="id" width=""> </el-table-column>
          <el-table-column label="操作" width="">
            <template slot-scope="scope">
              <!-- {{ scope.row.id }} -->
@@ -51,7 +41,6 @@
                <el-button type="info" @click="deleteNews(scope.row.id)">删除</el-button>
              </div>
            </template>
          </el-table-column>
        </el-table>
        <!-- 模糊查询的表格显示 -->
@@ -61,12 +50,9 @@
              <span>{{ (fuzzyForm.fuzzycurrent-1)*fuzzyForm.fuzzysize+scope.$index+1 }}</span>
            </template>
          </el-table-column>
          <el-table-column prop="releaseTime" label="日期" width="" >
          </el-table-column>
          <el-table-column prop="title" label="新闻标题" width="">
          </el-table-column>
          <el-table-column prop="id" label="id" width="">
          </el-table-column>
          <el-table-column prop="releaseTime" label="日期" width=""> </el-table-column>
          <el-table-column prop="title" label="新闻标题" width=""> </el-table-column>
          <el-table-column prop="id" label="id" width=""> </el-table-column>
          <el-table-column label="操作" width="">
            <template slot-scope="scope">
              <div>
@@ -75,7 +61,6 @@
                <el-button type="info" @click="deleteNews(scope.row.id)">删除</el-button>
              </div>
            </template>
          </el-table-column>
        </el-table>
        <!-- 分页 -->
@@ -87,10 +72,11 @@
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :current-page="currentPage"
              :page-sizes="[6,12, 18,]"
              :page-sizes="[6, 12, 18]"
              :page-size="100"
              layout="total, sizes, prev, pager, next, jumper"
              :total="total">
              :total="total"
            >
            </el-pagination>
          </div>
          <!-- 模糊新闻列表分页 -->
@@ -100,20 +86,17 @@
              @size-change="handleSizeChangefuzzy"
              @current-change="handleCurrentChangefuzzy"
              :current-page="fuzzyForm.fuzzycurrent"
              :page-sizes="[6,10, 18,]"
              :page-sizes="[6, 10, 18]"
              :page-size="100"
              layout="total, sizes, prev, pager, next, jumper"
              :total="fuzzyForm.fuzzytotal">
              :total="fuzzyForm.fuzzytotal"
            >
            </el-pagination>
          </div>
        </div>
      </el-card>
      <!-- 修改新闻的对话框 -->
      <el-dialog
        title="修改新闻"
        :visible.sync="editDialogVisible"
        width="50%"
        :before-close="handleClose">
      <el-dialog title="修改新闻" :visible.sync="editDialogVisible" width="50%" :before-close="handleClose">
        <!-- rules表单验证规则,ref当前表单的验证对象 -->
        <el-form ref="editFormRef" :model="editForm"  label-width="80px" status-icon>
          <el-form-item label="id:">
@@ -155,114 +138,126 @@
      fuzzytable:false, //模糊查询表格的显示
      fuzzyForm:{ fuzzytitle:'',fuzzytotal:0,fuzzycurrent:1,fuzzysize:6 },  //模糊查询列表对象
      value: [],
      options: [{
      options: [
        {
        value: 1,
        label: '首页',
        children: [{
          children: [
            {
          value:42,
          label: '通知公告',
              label: '通知公告'
        }, 
        {
          value:43,
          label: '工作动态',
              label: '工作动态'
        },
        {
          value:44,
          label: '学院动态',
        }],
      },{
              label: '学院动态'
            }
          ]
        },
        {
          value: 22,
          label: '科协概况',
          children: [{
          children: [
            {
            value:27,
            label: '简介',
              label: '简介'
          }, 
          {
            value:28,
            label: '章程',
              label: '章程'
          },
          {
            value:29,
            label: '组织结构',
              label: '组织结构'
          },
          {
            value:30,
            label: '工作职责',
              label: '工作职责'
          },
          {
            value:31,
            label: '专职人员',
          }],
              label: '专职人员'
            }
          ]
        },
        {
          value: 23,
          label: '政策法规',
          children: [{
          children: [
            {
            value:35,
            label: '中国科协政策文件',
              label: '中国科协政策文件'
          }, 
          {
            value:36,
            label: '地方科协政策文件',
              label: '地方科协政策文件'
          },
          {
            value:37,
            label: '社团管理文件',
          }],
              label: '社团管理文件'
            }
          ]
        },
        {
          value: 25,
          label: '学术交流',
          children: [{
          children: [
            {
            value:38,
            label: '学术信息',
              label: '学术信息'
          }, 
          {
            value:39,
            label: '科技竞赛',
          }],
              label: '科技竞赛'
            }
          ]
        },
        {
          value: 27,
          label: '科普风采',
          children: [{
          children: [
            {
            value:40,
            label: '平顶山学院科普活动',
              label: '平顶山学院科普活动'
          }, 
          {
            value:41,
            label: '平顶山市政协科普活动',
          }],
      }]
              label: '平顶山市政协科普活动'
            }
          ]
        }
      ]
    }
  },
  created(){
  },
  mounted(){
  },
  created() {},
  mounted() {},
  methods: {
    //修改对话框关闭的方法
    handleClose(done) {
      this.$confirm('确认关闭?')
        .then(_ => {
          done();
          done()
        })
        .catch(_ => {});
        .catch(_ => {})
    },
    //级联选择器的方法
    handleChange(value) {
      // console.log(value);
      // console.log(value[1]);
      this.newsCategoryId = value[1]; //将得到的小标题id存放起来
      this.query(this.newsCategoryId);
      this.newsCategoryId = value[1] //将得到的小标题id存放起来
      this.query(this.newsCategoryId)
    },
    query(newsCategoryId){
      const data = {
        current:this.currentPage,
        newsCategoryId:newsCategoryId,
        size:this.pageSize
      };
      getNewsList(data).then(res=>{
      }
      getNewsList(data)
        .then(res => {
        // console.log(res);
        if (res.code !== 200) {
          return this.$message.error('获取新闻列表失败')
@@ -270,8 +265,9 @@
          this.tableData = res.data.records
          this.total = res.data.total
        }
      }).catch(err => {
        console.log(err);
        })
        .catch(err => {
          console.log(err)
      })
    },
    //展示修改对话框
@@ -282,7 +278,7 @@
          this.editForm = res.data
        }     
      })
      this.editDialogVisible = true;
      this.editDialogVisible = true
    },
    //确定修改表单提交,验证发起请求
    editNew(){
@@ -294,9 +290,9 @@
      update(data).then(res=>{
        // console.log('dsadasas',res);
        if (res.code == 200) {
          this.editDialogVisible =false;
          this.editDialogVisible = false
          this.$message.success('修改新闻成功!')
          this.query(this.newsCategoryId);
          this.query(this.newsCategoryId)
        }
      })
    },
@@ -315,7 +311,8 @@
        size: this.fuzzyForm.fuzzysize,
        title:title
      }
      fuzzy(data).then(res => {
      fuzzy(data)
        .then(res => {
        // console.log(res);
        if (res.code !== 200) {
          return this.$message.error('查询新闻列表失败')
@@ -323,8 +320,9 @@
          this.fuzzytableData = res.data.records
          this.fuzzyForm.fuzzytotal = res.data.total
        }
      }).catch(err => {
        console.log(err);
        })
        .catch(err => {
          console.log(err)
      })
    },
    //清空查询列表内容
@@ -349,20 +347,20 @@
      })
      //如果用户点击确定则返回confirm
      //如果用户点击取消则返回cancel
      console.log(res);
      console.log(res)
      if(res !== 'confirm'){
        return this.$message.info('已取消删除~')
      }else{
        console.log(id);
        console.log(id)
        const data = {
          id:id
        }
        //参数data 要以对象的形式传入
        deleteNew(data).then(res => {
          console.log('>>>'+res);
          console.log('>>>' + res)
          if(res.code == 200){
            this.$message.success('删除新闻成功!')
            this.query(this.newsCategoryId);
            this.query(this.newsCategoryId)
          }else{
            return this.$message.error('删除新闻失败!')
          }
@@ -375,12 +373,12 @@
    },
    handleCurrentChange(val) {
      // console.log(`当前页: ${val}`);
      this.currentPage = val;
      this.currentPage = val
      this.query(this.newsCategoryId)
    },
    handleSizeChange(val) {
      // console.log(`每页 ${val} 条`);
      this.pageSize = val;
      this.pageSize = val
      this.query(this.newsCategoryId)
    },
    handleCurrentChangefuzzy(val){
@@ -393,21 +391,38 @@
    },
    //去往添加编辑页面
    goEdit(id){
      if (this.newsCategoryId==27&&this.total==1||this.newsCategoryId==28&&this.total==1||this.newsCategoryId==29&&this.total==1||
      this.newsCategoryId==30&&this.total==1||this.newsCategoryId==31&&this.total==1) {
      if (
        (this.newsCategoryId == 27 && this.total == 1) ||
        (this.newsCategoryId == 28 && this.total == 1) ||
        (this.newsCategoryId == 29 && this.total == 1) ||
        (this.newsCategoryId == 30 && this.total == 1) ||
        (this.newsCategoryId == 31 && this.total == 1)
      ) {
        this.$message.error('该新闻标题下只能存在一篇新闻')
      }else if(this.newsCategoryId==27||this.newsCategoryId==28||this.newsCategoryId==29||this.newsCategoryId==30||
      this.newsCategoryId==31||this.newsCategoryId == 35||this.newsCategoryId==36||this.newsCategoryId==37||
      this.newsCategoryId==38||this.newsCategoryId==39||this.newsCategoryId==40||
      this.newsCategoryId==41||this.newsCategoryId==42||this.newsCategoryId==43||
      this.newsCategoryId==44){
      } else if (
        this.newsCategoryId == 27 ||
        this.newsCategoryId == 28 ||
        this.newsCategoryId == 29 ||
        this.newsCategoryId == 30 ||
        this.newsCategoryId == 31 ||
        this.newsCategoryId == 35 ||
        this.newsCategoryId == 36 ||
        this.newsCategoryId == 37 ||
        this.newsCategoryId == 38 ||
        this.newsCategoryId == 39 ||
        this.newsCategoryId == 40 ||
        this.newsCategoryId == 41 ||
        this.newsCategoryId == 42 ||
        this.newsCategoryId == 43 ||
        this.newsCategoryId == 44
      ) {
        this.$router.push({path:'/administrator/edit',query:{id:id}})
        console.log(this.newsCategoryId);
        console.log(this.newsCategoryId)
      }else{
        this.$message.error('请先选择新闻标题')
      } 
    }
  },
  }
}
</script>