Browse Source

问题模块,首页跳转功能

zhangli 3 years ago
parent
commit
6c58bfe666

+ 4 - 2
src/App.vue

@@ -9,8 +9,10 @@ import { setStore } from '@/utils/store'
 export default {
     name: "App",
     created() {
-      let token = this.$route.query.token
-      setStore({'name':'token', 'content': token, 'type':''})
+      let token = decodeURIComponent(this.$route.query.token).replace(new RegExp(/( )/g),"+")
+      if(token!=undefined&&token!="undefined"){
+        setStore({'name':'token', 'content': token, 'type':''})
+      }
     }
 }
 </script>

+ 5 - 0
src/api/choose.js

@@ -0,0 +1,5 @@
+import request from '@/utils/request'
+
+// 获取当前登录用户的按钮权限
+export const userMenu = (object) => { return request({ url: "/common/userMenu", data: object})}
+

+ 22 - 0
src/api/question.js

@@ -0,0 +1,22 @@
+import request from '@/utils/request'
+
+// 质量问题查询
+export const selectQualityPage = (object) => { return request({ url: "/issue/selectQualityPage", data: object})}
+
+// 质量问题导出
+export const qualityExport = (object) => { return request({ url: "/issue/qualityExport", data: object})}
+
+// 停机问题查询
+export const selectStopPage = (object) => { return request({ url: "/issue/selectStopPage", data: object})}
+
+// 停机问题导出
+export const stopExport = (object) => { return request({ url: "/issue/stopExport", data: object})}
+
+// 删除问题
+export const removeIssue = (object) => { return request({ url: "/issue/removeIssue", data: object})}
+
+//Rank
+export const Rank = (object) => { return request({ url: "/common/Rank", data: object})}
+
+//获取所有部门Code
+export const getDeptCode = (object) => { return request({ url: "/common/getDeptCode", data: object})}

+ 30 - 2
src/components/leftnav.vue

@@ -61,14 +61,42 @@ export default {
               icon: 'el-icon-tickets',
               url: 'standingManage',
               menus: null
-            },{
-              menu_id: 12,
+            }
+          ]
+        }, {
+          menu_id: 2,
+          icon: 'el-icon-tickets',
+          menu_name: '计划',
+          url: null,
+          menus: [
+            {
+              menu_id: 21,
               menu_name: '计划管理',
               icon: 'el-icon-tickets',
               url: 'plan',
               menus: null
             },
           ]
+        }, {
+          menu_id: 3,
+          icon: 'el-icon-tickets',
+          menu_name: '问题',
+          url: null,
+          menus: [
+            {
+              menu_id: 31,
+              menu_name: '质量问题',
+              icon: 'el-icon-tickets',
+              url: 'question',
+              menus: null
+            },{
+              menu_id: 32,
+              menu_name: '停机问题',
+              icon: 'el-icon-tickets',
+              url: 'stop',
+              menus: null
+            }
+          ]
         }
       ],
       msg: 'success'

+ 11 - 0
src/router/index.js

@@ -21,6 +21,9 @@ import addTask from '@/views/task/addTask'
 import standingManage from '@/views/standingManage/index'
 // 计划
 import plan from '@/views/plan/plan'
+// 问题
+import question from '@/views/question/question'
+import stop from '@/views/question/stop'
 // 选择
 import choose from '@/views/choose/choose'
 // 启用路由
@@ -71,6 +74,14 @@ export default new Router({
             path: '/choose',
             name: '选择跳转',
             component: choose
+        }, {
+            path: '/question',
+            name: '质量问题',
+            component: question
+        }, {
+            path: '/stop',
+            name: '停机问题',
+            component: stop
         }]
     }]
 })

+ 4 - 2
src/utils/request.js

@@ -11,7 +11,8 @@ import Router from '../router'
 const request = axios.create({
   // baseURL: process.env.BASE_API,
   // baseURL: '/api',
-  baseURL: 'http://81.70.84.72:30048/',
+ // baseURL: 'http://81.70.84.72:30048/',
+  baseURL: 'http://39.100.230.190:30048/',
   timeout: process.env.TIME_OUT,
   method: "post",
   type: "JSON"
@@ -27,13 +28,14 @@ request.interceptors.request.use(config => {
   //  获取accessToken
   let accessToken = getStore({'name':'token','type':'','debug':''})
   //  添加请求头信息,处理安全性问题
+  console.log(accessToken)
   if (!accessToken !== undefined) {
     config.headers.Authorization = accessToken
   } else {
     // config.headers.Authorization = 'Basic dnVlOnZ1ZQ=='
     config.headers.Authorization = "2qvey0UJ00MIW9jkfmJMyh6GdyzjLr8nykEt5v3d9m0="
   }
-// config.headers.Authorization = "FwjrAoJGmNMh28FYHQWd7z3nlrLcIi4ODJWvbyoYQFE="
+ //config.headers.Authorization = "Xiy0+JD3VG3rCGQtqCnNVDN7okimFbXa6YfPsvw71+I="
   //  添加时间戳防止IE不刷新页面
   if (config.type != 'FORM') {
     if (config.method == 'post') {

+ 46 - 7
src/views/choose/choose.vue

@@ -4,16 +4,20 @@
       <img src="../../assets/img/choose_title.png" class="mainTitle" :style="{'margin-top':mainHeight*0.36+'px'}"/>
     </div>
     <div class="boxIcon">
-      <img src="../../assets/img/icon0.png" class="mainIcon" :style="{'margin-top':-mainHeight*0.2+'px'}"/>
-      <img src="../../assets/img/icon1.png" class="mainIcon" :style="{'margin-top':-mainHeight*0.2+'px'}"/>
-      <img src="../../assets/img/icon2.png" class="mainIcon" :style="{'margin-top':-mainHeight*0.2+'px'}"/>
-      <img src="../../assets/img/icon3.png" class="mainIcon" :style="{'margin-top':-mainHeight*0.2+'px'}"/>
-      <img src="../../assets/img/icon4.png" class="mainIcon" :style="{'margin-top':-mainHeight*0.2+'px'}"/>
+      <div v-for="menu in menuData" :key="menu.name" :index="menu.name">
+        <img  v-if="menu.name=='基础模块'" @click="go_url(menu)" src="../../assets/img/icon0.png" class="mainIcon" :style="{'margin-top':-mainHeight*0.2+'px'}"/>
+        <img v-if="menu.name=='点检模块'" @click="go_url(menu)" src="../../assets/img/icon1.png" class="mainIcon" :style="{'margin-top':-mainHeight*0.2+'px'}"/>
+        <img v-if="menu.name=='问题模块'" @click="go_url(menu)" src="../../assets/img/icon2.png" class="mainIcon" :style="{'margin-top':-mainHeight*0.2+'px'}"/>
+        <img v-if="menu.name=='保养模块'" @click="go_url(menu)" src="../../assets/img/icon3.png" class="mainIcon" :style="{'margin-top':-mainHeight*0.2+'px'}"/>
+        <img v-if="menu.name=='计划模块'" @click="go_url(menu)" src="../../assets/img/icon4.png" class="mainIcon" :style="{'margin-top':-mainHeight*0.2+'px'}"/>
+      </div>
     </div>
   </div>
 </template>
 
 <script>
+import { userMenu } from '@/api/choose'
+import { setStore } from '@/utils/store'
   export default {
     name: "choose",
     components: {
@@ -21,7 +25,8 @@
     },
     data() {
       return {
-        mainHeight:0
+        mainHeight:0,
+        menuData:[]
       }
     },
     created() {
@@ -32,18 +37,49 @@
     },
     mounted() {
       //立即执行
+      var that=this
+      let token = decodeURIComponent(this.$route.query.token).replace(new RegExp(/( )/g),"+")
+      if(token!=undefined&&token!="undefined"){
+        setStore({'name':'token', 'content': token, 'type':''})
+      }
       window.onresize = () => {
         return (() => {
           this.resizeWin();
         })();
       };
       this.resizeWin();
+        userMenu().then(res=> {
+          that.menuData=res.data
+        })
     },
     methods:{
       resizeWin(){
         const mainWidth = this.$refs.mainBg.clientWidth;
        this.mainHeight=mainWidth*0.28125
-      }
+      },
+      go_url(menu){
+        location.href=menu.url
+      },
+       // 基础
+      go_JC() {
+        location.href="http://172.18.1.227:8081/baseWeb/index/gongyi.html"
+      }, 
+      // 点检
+      go_standingManage() {
+        this.$router.push({ path: '/project', query:{}})
+      }, 
+      // 问题
+      go_question() {
+        this.$router.push({ path: '/question', query:{}})
+      }, 
+      // 保养
+      go_BY() {
+        this.$router.push({ path: '/project', query:{}})
+      }, 
+      // 计划
+      go_plan() {
+        this.$router.push({ path: '/plan', query:{}})
+      },
     }
   }
 </script>
@@ -66,4 +102,7 @@
   .boxIcon{
     width:100%;
   }
+  .boxIcon div{
+    display: inline;
+  }
 </style>

+ 26 - 2
src/views/index.vue

@@ -1,10 +1,10 @@
 <template>
   <el-container class="index-con">
-    <el-aside :class="showClass">
+    <el-aside :class="showClass" v-if="showmenu">
       <left-nav/>
     </el-aside>
     <el-container class="main-con">
-      <el-header class="index-header">
+      <el-header class="index-header" v-if="showmenu">
         <nav-con/>
       </el-header>
       <el-main clss="index-main">
@@ -25,6 +25,7 @@ export default {
   data() {
     return {
       showClass: 'aside_show',
+      showmenu:true
     }
   },
   // 注册组件
@@ -33,6 +34,29 @@ export default {
     leftNav
   },
   methods: {
+    showmenufun(params) {
+      console.log(88888)
+      this.showmenu=params
+    }
+  },
+  onload(){
+     
+  },
+  mounted() {
+    if(this.$route.fullPath.indexOf("choose?")>-1){
+      this.showmenu=false
+    }else{
+      this.showmenu=true
+    }
+  },
+  watch:{
+      $route(to,from){
+        if(this.$route.fullPath.indexOf("choose?")>-1){
+          this.showmenu=false
+        }else{
+          this.showmenu=true
+        }
+      }
   },
   created() {
     getLoginUserInfo().then(res=> {

+ 1 - 1
src/views/plan/plan.vue

@@ -2,7 +2,7 @@
   <div>
     <!-- 面包屑导航 -->
     <el-breadcrumb separator-class="el-icon-arrow-right">
-      <el-breadcrumb-item>点检</el-breadcrumb-item>
+      <el-breadcrumb-item>计划</el-breadcrumb-item>
       <el-breadcrumb-item>计划管理</el-breadcrumb-item>
     </el-breadcrumb>
     <!-- 搜索筛选 -->

+ 284 - 0
src/views/question/question.vue

@@ -0,0 +1,284 @@
+<template>
+  <div>
+    <!-- 面包屑导航 -->
+    <el-breadcrumb separator-class="el-icon-arrow-right">
+      <el-breadcrumb-item>问题</el-breadcrumb-item>
+      <el-breadcrumb-item>质量问题</el-breadcrumb-item>
+    </el-breadcrumb>
+    <!-- 搜索筛选 -->
+    <el-form ref="ruleForm"
+             :model="searchData"
+             style="margin-top: 20px;">
+        <el-row style="display: flex">
+      <el-form-item label="问题状态" label-width="100px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.status"
+                     placeholder="请选择问题状态"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in statusArr"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="长期负责部门" label-width="100px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.longDepartmentId"
+                     placeholder="请选择长期负责部门"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in dept"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="短期负责部门" label-width="100px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.shortDepartmentId"
+                     placeholder="请选择短期负责部门"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in dept"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item style="margin-left:20px">
+          <el-button size="small" type="primary" @click="Export">批量导出</el-button>
+        </el-form-item>
+        </el-row>
+      <el-row style="display: flex">
+        <el-form-item label="长期措施状态" label-width="100px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.longSolutionStatus"
+                     placeholder="请选择长期措施状态"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in shortSolutionStatusArr"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="短期措施状态" label-width="100px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.shortSolutionStatus"
+                     placeholder="请选择短期措施状态"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in shortSolutionStatusArr"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="区域选择" label-width="80px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.areaId"
+                     placeholder="请选择区域"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in areas"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="lssue号码" label-width="80px" prop="commitUsername">
+          <el-input size="small" v-model="searchData.id"></el-input>
+        </el-form-item>
+        <el-form-item style="margin-left:20px">
+          <el-button size="small" type="primary" @click="search">检索</el-button>
+        </el-form-item>
+        </el-row>
+    </el-form>
+    <!--列表-->
+    <el-table :data="questionData"
+              highlight-current-row
+              :header-cell-style="{'background-color':'#FAFAFA','color':'#000'}"
+              border>
+      <el-table-column prop="id" label="序号" min-width="20" align="center">
+      </el-table-column>
+      <el-table-column prop="statusValue" label="状态" min-width="60" align="center">
+      </el-table-column>
+      <el-table-column prop="detail" label="描述" min-width="40" align="center">
+      </el-table-column>
+      <el-table-column prop="longtimeDepartmentName" label="长期责任部门" min-width="30" align="center">
+      </el-table-column>
+      <el-table-column prop="longSolution" label="长期措施" min-width="30" align="center">
+        
+      </el-table-column>
+      <el-table-column prop="shortTimeDepartmentName" label="短期责任部门" min-width="30" align="center">
+      </el-table-column>
+      <el-table-column prop="shortSolution" label="短期措施" min-width="30" align="center">
+      
+      </el-table-column>
+      
+      <el-table-column prop="startTime" label="发生时间" min-width="30" align="center">
+      </el-table-column>
+      <el-table-column align="center" label="操作" min-width="50">
+        <template slot-scope="scope" style="display: flex">
+          <el-button type="text" size="small" @click="delquestion(scope)">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <!-- 分页组件 -->
+    <template v-if="questionData.length">
+      <Pagination :childMsg="pageInfo"
+                  style="display: flex;
+                       justify-content: flex-end;
+                       margin-top: 20px;"
+                  @currentChange="get_page">
+      </Pagination>
+    </template>
+  </div>
+</template>
+
+<script>
+  import Pagination from '@/components/Pagination'
+  import { selectQualityPage,qualityExport,removeIssue,getDeptCode } from '@/api/question'
+  import { getArea } from '@/api/common'
+  // 一页数据量
+  const pageSize = 8
+  export default {
+    name: "question",
+    components: {
+      Pagination
+    },
+    data() {
+      return {
+        checkBoxData: [],
+        "areas": [],
+        "dept":[],
+        searchareaId:'',
+        // 搜索数据
+        searchData: {
+          "status":"",
+          "areaId": "",
+          "longDepartmentId":"",
+          "longSolutionStatus":"",
+          "shortDepartmentId":"",
+          "shortSolutionStatus":"",
+          "page": 1,
+          "size": pageSize
+        },
+        // 类型
+        statusArr: [
+          {'id':'1' , 'name': '待处理'},
+          {'id':'2' , 'name': '处理中'},
+          {'id':'3' , 'name': '已完成/关闭'}
+        ],
+        // 部门状态
+        shortSolutionStatusArr: [
+          {'id':'0' , 'name': '等待指派'},
+          {'id':'1' , 'name': '待完成'},
+          {'id':'2' , 'name': '处理中'},
+          {'id':'3' , 'name': '已完成'}
+        ],
+        // 计划数据
+        questionData: [],
+        // 分页参数
+        pageInfo: {
+          currentPage: 1,
+          pageSize: pageSize,
+          total: 5
+        }
+      }
+    },
+    created() {
+      this.get_question_list()
+      this.get_area()
+      this.getDept()
+    },
+    methods:{
+      // 获取所有区域
+      get_area() {
+        getArea().then(res => {
+          this.areas = res.data
+        })
+      },
+      // 获取所有部门
+      getDept() {
+        getDeptCode().then(res => {
+          this.dept = res.data
+        })
+      },
+      // 问题列表
+      get_question_list() {
+        selectQualityPage(this.searchData).then(res=> {
+          this.questionData = res.data.row
+          this.pageInfo.total = parseInt(res.data.total)
+        })
+      },
+      // 搜索
+      search() {
+        this.get_question_list()
+      },
+      // 删除
+      delquestion(index) {
+        var that=this
+        var delData={
+          issueType:1,
+          id:index.row.id
+        }
+        this.$confirm('确定设置当前产品', '提示', {
+              confirmButtonText: '确定',
+              cancelButtonText: '取消',
+              type: 'warning'
+          }).then(() => {
+            removeIssue(delData).then(res=> {
+              if(res.status === '20000'){
+                that.$message.success('删除成功')
+                that.get_question_list()
+              }
+            })
+          }).catch(() => {
+              that.$message({
+                  type: 'info',
+                  message: '已取消'
+              });          
+          });
+      },
+      //导出
+      Export(){
+        let data = this.searchData
+        qualityExport(data)
+      },
+      // 获取点击页数
+      get_page(val) {
+        this.searchData.page = val
+        this.get_question_list()
+      }
+    }
+  }
+</script>
+
+<style scoped>
+  .typeC0{
+    background: #f8ac5a;
+    color: #fff;
+    padding: 4px 15px;
+    cursor: inherit;
+  }
+  .typeC1{
+    background: #1d84c6;
+    color: #fff;
+    padding: 4px 15px;
+    cursor: inherit;
+  }
+  .typeC2{
+    background: #52d4b0;
+    color: #fff;
+    padding: 4px 15px;
+    cursor: inherit;
+  }
+  .typeC3{
+    background: #d1dade;
+    color: #000;
+    padding: 4px 15px;
+    cursor: inherit;
+  }
+</style>

+ 311 - 0
src/views/question/stop.vue

@@ -0,0 +1,311 @@
+<template>
+  <div>
+    <!-- 面包屑导航 -->
+    <el-breadcrumb separator-class="el-icon-arrow-right">
+      <el-breadcrumb-item>问题</el-breadcrumb-item>
+      <el-breadcrumb-item>停机问题</el-breadcrumb-item>
+    </el-breadcrumb>
+    <!-- 搜索筛选 -->
+    <el-form ref="ruleForm"
+             :model="searchData"
+             style="margin-top: 20px;">
+        <el-row style="display: flex">
+        <el-form-item label="长期措施状态" label-width="100px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.longSolutionStatus"
+                     placeholder="请选择长期措施状态"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in shortSolutionStatusArr"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="短期措施状态" label-width="100px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.shortSolutionStatus"
+                     placeholder="请选择短期措施状态"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in shortSolutionStatusArr"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="负责部门" label-width="80px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.departmentId"
+                     placeholder="请选择部门"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in dept"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item style="margin-left:20px">
+          <el-button size="small" type="primary" @click="Export">批量导出</el-button>
+        </el-form-item>
+        </el-row>
+      <el-row style="display: flex">
+        <el-form-item label="Rank" label-width="80px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.rankId"
+                     placeholder="请选择Rnak"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in RankArr"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+      <el-form-item label="区域选择" label-width="80px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.areaId"
+                     placeholder="请选择区域"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in areas"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="lssue状态" label-width="80px" prop="areaId" style="margin-right:20px">
+          <el-select v-model="searchData.status"
+                     placeholder="请选择lssue状态"
+                     size="small"
+                     clearable>
+            <el-option v-for="(item,index) in statusArr"
+                       :label="item.name"
+                       :key="index"
+                       :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="lssue号码" label-width="80px" prop="commitUsername">
+          <el-input size="small" v-model="searchData.id"></el-input>
+        </el-form-item>
+        <el-form-item style="margin-left:20px">
+          <el-button size="small" type="primary" @click="search">检索</el-button>
+        </el-form-item>
+        </el-row>
+    </el-form>
+    <!--列表-->
+    <el-table :data="questionData"
+              highlight-current-row
+              :header-cell-style="{'background-color':'#FAFAFA','color':'#000'}"
+              border>
+      <el-table-column prop="id" label="序号" min-width="20" align="center">
+      </el-table-column>
+      <el-table-column prop="statusValue" label="状态" min-width="60" align="center">
+      </el-table-column>
+      <el-table-column prop="detail" label="描述" min-width="40" align="center">
+      </el-table-column>
+      <el-table-column prop="departmentName" label="负责部门" min-width="30" align="center">
+      </el-table-column>
+      <el-table-column prop="createdUsername" label="短期措施" min-width="30" align="center">
+        <template slot-scope="scope" style="display: flex" >
+          <el-button v-if="scope.row.shortSolutionStatus=='已完成'" size="small" class="typeC3" >已完成</el-button>
+          <el-button v-if="scope.row.shortSolutionStatus=='待完成'" size="small" class="typeC2" >待完成</el-button>
+          <el-button v-if="scope.row.shortSolutionStatus=='等待指派'" size="small" class="typeC0" >等待指派</el-button>
+          <el-button v-if="scope.row.shortSolutionStatus=='处理中'" size="small" class="typeC1" >处理中</el-button>
+        </template>
+      </el-table-column>
+      <el-table-column prop="createdUsername" label="长期措施" min-width="30" align="center">
+        <template slot-scope="scope" style="display: flex">
+         <el-button v-if="scope.row.longSolutionStatus=='已完成'" size="small" class="typeC3" >已完成</el-button>
+          <el-button v-if="scope.row.longSolutionStatus=='待完成'" size="small" class="typeC2" >待完成</el-button>
+          <el-button v-if="scope.row.longSolutionStatus=='等待指派'" size="small" class="typeC0" >等待指派</el-button>
+          <el-button v-if="scope.row.longSolutionStatus=='处理中'" size="small" class="typeC1" >处理中</el-button>
+        </template>
+      </el-table-column>
+      <el-table-column prop="startTime" label="发生时间" min-width="30" align="center">
+      </el-table-column>
+      <el-table-column align="center" label="操作" min-width="50">
+        <template slot-scope="scope" style="display: flex">
+          <el-button type="text" size="small" @click="delquestion(scope)">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <!-- 分页组件 -->
+    <template v-if="questionData.length">
+      <Pagination :childMsg="pageInfo"
+                  style="display: flex;
+                       justify-content: flex-end;
+                       margin-top: 20px;"
+                  @currentChange="get_page">
+      </Pagination>
+    </template>
+  </div>
+</template>
+
+<script>
+  import Pagination from '@/components/Pagination'
+  import { selectStopPage,stopExport,removeIssue,getDeptCode,Rank } from '@/api/question'
+  import { getArea } from '@/api/common'
+  // 一页数据量
+  const pageSize = 8
+  export default {
+    name: "question",
+    components: {
+      Pagination
+    },
+    data() {
+      return {
+        checkBoxData: [],
+        "areas": [],
+        "dept":[],
+        "RankArr":[],
+        searchareaId:'',
+        // 搜索数据
+        searchData: {
+          "longSolutionStatus":"",
+          "shortSolutionStatus":"",
+          "departmentId":"",
+          "areaId": "",
+          "rankId":"",
+          "status":"",
+          "id":"",
+          "page": 1,
+          "size": pageSize
+        },
+        // 类型
+        types: [
+          {'status':'0' , 'value': '计划停机'},
+          {'status':'1' , 'value': '调试'},
+          {'status':'2' , 'value': '生产'},
+          {'status':'3' , 'value': '休息'}
+        ],
+        // 类型
+        chanpinFlag: [
+          {'status':0 , 'value': '是'},
+          {'status':1 , 'value': '否'}
+        ],
+         // 类型
+        statusArr: [
+          {'id':'0' , 'name': '打开'},
+          {'id':'1' , 'name': '关闭'}
+        ],
+        // 部门状态
+        shortSolutionStatusArr: [
+          {'id':'0' , 'name': '等待指派'},
+          {'id':'1' , 'name': '待完成'},
+          {'id':'2' , 'name': '处理中'},
+          {'id':'3' , 'name': '已完成'}
+        ],
+        // 计划数据
+        questionData: [],
+        // 分页参数
+        pageInfo: {
+          currentPage: 1,
+          pageSize: pageSize,
+          total: 5
+        }
+      }
+    },
+    created() {
+      this.get_question_list()
+      this.get_area()
+      this.getDept()
+      this.getRank()
+    },
+    methods:{
+      // 获取所有区域
+      get_area() {
+        getArea().then(res => {
+          this.areas = res.data
+        })
+      },
+      // 获取所有部门
+      getDept() {
+        getDeptCode().then(res => {
+          this.dept = res.data
+        })
+      },
+      // 获取所有Rank
+      getRank() {
+        Rank().then(res => {
+          this.RankArr = res.data
+        })
+      },
+      // 问题列表
+      get_question_list() {
+        selectStopPage(this.searchData).then(res=> {
+          this.questionData = res.data.row
+          this.pageInfo.total = parseInt(res.data.total)
+        })
+      },
+      // 搜索
+      search() {
+        this.get_question_list()
+      },
+      // 删除
+      delquestion(index) {
+        var that=this
+        var delData={
+          issueType:0,
+          id:index.row.id
+        }
+        this.$confirm('确定设置当前产品', '提示', {
+              confirmButtonText: '确定',
+              cancelButtonText: '取消',
+              type: 'warning'
+          }).then(() => {
+            removeIssue(delData).then(res=> {
+              if(res.status === '20000'){
+                that.$message.success('删除成功')
+                that.get_question_list()
+              }
+            })
+          }).catch(() => {
+              that.$message({
+                  type: 'info',
+                  message: '已取消'
+              });          
+          });
+      },
+      //导出
+      Export(){
+        let data = this.searchData
+        stopExport(data)
+      },
+      // 获取点击页数
+      get_page(val) {
+        this.searchData.page = val
+        this.get_question_list()
+      }
+    }
+  }
+</script>
+
+<style scoped>
+  .typeC0{
+    background: #f8ac5a;
+    color: #fff;
+    padding: 4px 15px;
+    cursor: inherit;
+  }
+  .typeC1{
+    background: #1d84c6;
+    color: #fff;
+    padding: 4px 15px;
+    cursor: inherit;
+  }
+  .typeC2{
+    background: #52d4b0;
+    color: #fff;
+    padding: 4px 15px;
+    cursor: inherit;
+  }
+  .typeC3{
+    background: #d1dade;
+    color: #000;
+    padding: 4px 15px;
+    cursor: inherit;
+  }
+</style>