stjdydayou 4 年之前
父節點
當前提交
a851ad3f8b

+ 9 - 3
src/router/index.js

@@ -148,20 +148,26 @@ export const asyncRoutes = [
     path: '/statistics',
     component: Layout,
     name: 'Statistics',
-    meta: { title: '数据统计分析', icon: 'el-icon-s-data', authorities: ['statistics.complaint', 'statistics.file.manage', 'statistics.gis.map.base'] },
+    meta: { title: '数据统计分析', icon: 'el-icon-s-data', authorities: ['complaint.find', 'upload.file.find', 'place.base.info.gis.map'] },
     redirect: '/statistics/index',
     children: [
       {
+        path: 'popularFeelings',
+        name: 'StatisticsPopularFeelings',
+        component: () => import('@/views/statistics/popularFeelings'),
+        meta: { title: '舆情监控', authorities: ['complaint.find'] }
+      },
+      {
         path: 'complaint',
         name: 'StatisticsComplaint',
         component: () => import('@/views/statistics/complaint'),
-        meta: { title: '客诉信息管理', authorities: ['statistics.complaint'] }
+        meta: { title: '客诉信息管理', authorities: ['complaint.find'] }
       },
       {
         path: 'file',
         name: 'StatisticsFile',
         component: () => import('@/views/statistics/file'),
-        meta: { title: '多媒体信息管理', authorities: ['statistics.file.manage'] }
+        meta: { title: '多媒体信息管理', authorities: ['upload.file.find'] }
       },
       {
         path: 'gis',

+ 4 - 4
src/views/statistics/complaint/index.vue

@@ -41,10 +41,10 @@
     <el-row class="action-bar-container" type="flex" justify="end">
       <el-button type="primary" size="small" @click.native="fetchData">查询</el-button>
       <el-button-group>
-        <el-button v-permission="['statistics.complaint']" size="small" @click.native="$refs.dialogForm.open({})">
+        <el-button v-permission="['complaint.add']" size="small" @click.native="$refs.dialogForm.open({})">
           新建
         </el-button>
-        <el-button v-permission="['statistics.complaint']" size="small" @click.native="deleteByIds(multipleSelection)">
+        <el-button v-permission="['complaint.delete']" size="small" @click.native="deleteByIds(multipleSelection)">
           删除
         </el-button>
       </el-button-group>
@@ -74,8 +74,8 @@
               操作<i class="el-icon-arrow-down el-icon--right" />
             </el-button>
             <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item v-permission="['statistics.complaint']" type="text" @click.native="$refs.dialogForm.open(scope.row)">编辑</el-dropdown-item>
-              <el-dropdown-item v-permission="['statistics.complaint']" @click.native="setProcessedByIds([scope.row.id])"> 设为已处理</el-dropdown-item>
+              <el-dropdown-item v-permission="['complaint.edit']" type="text" @click.native="$refs.dialogForm.open(scope.row)">编辑</el-dropdown-item>
+              <el-dropdown-item v-permission="['complaint.process']" @click.native="setProcessedByIds([scope.row.id])"> 设为已处理</el-dropdown-item>
             </el-dropdown-menu>
           </el-dropdown>
         </template>

+ 1 - 1
src/views/statistics/file/index.vue

@@ -19,7 +19,7 @@
     <el-row class="action-bar-container" type="flex" justify="end">
       <el-button type="primary" size="small" @click.native="fetchData">查询</el-button>
       <el-button-group>
-        <el-button v-permission="['statistics.file.manage']" size="small" @click.native="deleteByIds(multipleSelection)">
+        <el-button v-permission="['upload.file.delete']" size="small" @click.native="deleteByIds(multipleSelection)">
           删除
         </el-button>
       </el-button-group>

+ 110 - 0
src/views/statistics/popularFeelings/index.vue

@@ -0,0 +1,110 @@
+<template>
+  <div class="app-container">
+
+    <el-form :model="queryForm" inline size="small">
+      <el-form-item label="文件名">
+        <el-input v-model="queryForm.originalFileName" placeholder="文件名" />
+      </el-form-item>
+      <el-form-item label="上传时间">
+        <el-date-picker
+          v-model="queryForm.createdTime"
+          type="daterange"
+          range-separator="至"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+          value-format="yyyy-MM-dd"
+        />
+      </el-form-item>
+    </el-form>
+    <el-row class="action-bar-container" type="flex" justify="end">
+      <el-button type="primary" size="small" @click.native="fetchData">查询</el-button>
+      <el-button-group>
+        <el-button v-permission="['statistics.file.manage']" size="small" @click.native="deleteByIds(multipleSelection)">
+          删除
+        </el-button>
+      </el-button-group>
+    </el-row>
+    <el-table
+      v-loading="isLoading"
+      :data="pageData.records"
+      border
+      fit
+      highlight-current-row
+      @selection-change="selectionChange"
+    >
+      <el-table-column type="selection" width="55" />
+      <el-table-column label="ID" prop="id" width="150" />
+      <el-table-column label="文件名" prop="originalFileName" width="300" />
+      <el-table-column label="地址" prop="src" />
+      <el-table-column label="大小" prop="size" width="150" />
+      <el-table-column label="类型" prop="mimeType" width="150" />
+      <el-table-column label="扩展名" prop="extension" width="150" />
+      <el-table-column label="上传时间" prop="createdTime" :formatter="dateTimeFormatter" width="200" />
+    </el-table>
+    <el-pagination
+      class="pagination-container"
+      background
+      layout="prev, pager, next"
+      :total="pageData.total"
+      :page-size="pageData.pageSize"
+      @current-change="paginationChange"
+    />
+  </div>
+</template>
+
+<script>
+import { deleteByIds, findPage } from '@/api/upload'
+import { dateTimeFormatter } from '@/utils/formater'
+
+export default {
+  name: 'StatisticsComplaint',
+  data() {
+    return {
+      queryForm: {},
+      isLoading: true,
+      pageData: {},
+      currentPage: 1,
+      multipleSelection: []
+    }
+  },
+  computed: {},
+  created() {
+  },
+  mounted() {
+    this.fetchData()
+  },
+  methods: {
+    dateTimeFormatter,
+    deleteByIds(ids) {
+      this.$confirm('确认要删除吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        deleteByIds(ids).then(() => {
+          this.fetchData()
+        })
+      })
+    },
+    selectionChange(val) {
+      const temp = []
+      val.forEach(o => {
+        temp.push(o.id)
+      })
+      this.multipleSelection = temp
+    },
+    paginationChange(val) {
+      this.currentPage = val
+      this.fetchData()
+    },
+    fetchData() {
+      this.isLoading = true
+      findPage({ ...this.queryForm, current: this.currentPage })
+        .then((response) => {
+          this.pageData = response
+        })
+        .finally(() => (this.isLoading = false))
+    }
+  }
+}
+</script>