Browse Source

月报编辑查看权限添加

洪海涛 4 years ago
parent
commit
b773d7df54

+ 19 - 10
src/api/qualityMonthlyReport/edit.js

@@ -43,7 +43,6 @@ export function updatSettingMonthlyReport(data) {
 }
 
 // 获取完整报告
-
 /**
  *
  * @param data[reportId]      月报ID(93|94)
@@ -58,6 +57,7 @@ export function getAllSubReportCatalog(data) {
   })
 }
 
+// 更新反馈信息
 export function updateAnalyticFeedback(data) {
   return request({
     url: projectManagementUrl + '/monthlyReport/updateAnalyticFeedback',
@@ -66,14 +66,6 @@ export function updateAnalyticFeedback(data) {
   })
 }
 
-export function getSubReport(params) {
-  return request({
-    url: projectManagementUrl + '/monthlyReport/subReport/get',
-    method: 'get',
-    params
-  })
-}
-
 // 获取部门数据
 export function getReportDependence(params) {
   return request({
@@ -84,7 +76,6 @@ export function getReportDependence(params) {
 }
 
 // 月报发送确认
-
 export function sendConfirm(data) {
   return request({
     url: projectManagementUrl + '/monthlyReport/sendConfirm',
@@ -92,3 +83,21 @@ export function sendConfirm(data) {
     data
   })
 }
+
+// 月报回退  /monthlyReport/returnReport  subReportIds
+export function returnReport(data) {
+  return request({
+    url: projectManagementUrl + '/monthlyReport/returnReport',
+    method: 'post',
+    data
+  })
+}
+
+// 获取子月报
+export function getSubReport(params) {
+  return request({
+    url: projectManagementUrl + '/monthlyReport/subReport/get',
+    method: 'get',
+    params
+  })
+}

+ 43 - 32
src/store/modules/monthlyReport/edit/index.js

@@ -6,8 +6,11 @@ import {
   getAllSubReportCatalog,
   getSubReport,
   getReportDependence,
-  sendConfirm
+  sendConfirm,
+  returnReport
 } from '@/api/qualityMonthlyReport/edit'
+import { getAvaliableInfo } from '@/api/qualityMonthlyReport/index'
+
 import {
   reportDataBack,
   setReportData,
@@ -22,7 +25,7 @@ export default {
   /* 月报编辑 */
   namespaced: true,
   state: {
-    pageDate: null,
+    pageDate: null, // 页面的完整数据
     tabsList: [
       '上月问题跟进',
       '本月重点问题',
@@ -31,25 +34,29 @@ export default {
       '硬件详情',
       '本月优秀&持续改进'
     ],
-    tabsActive: '',
+    tabsActive: '', // 最上层tabs焦点
     tabPageData: null, // 单个标签页数据
-    treeActive: '',
-    treeData: [],
     reportData: [], // 所有标签页数据
-    editKeys: [],
+    editKeys: [], // 存放需要编辑的区域的  domKey(唯一)
     subTabsActive: [], // 当前页签中所有已切换的数据
     domKeys: [], // 记录所有元素区域的唯一标识
-    offsetList: [],
     selectEnum: [], // 部门数据
     userNames: [], // 人员数据
     subTitle: '新建月报',
+    /**
+     * 100        月报发起人
+     * 50         确认人
+     * 30         用户
+     * 0          管理员
+     */
+    roleCode: 50, // 默认为用户
     pageType: 'edit' // edit:(月报编辑和新建); readAll:(查看月报详情)
   },
   mutations: {
     // 页面基础数据赋值
     INIT_PAGE_DATA(state, params) {
       const { pageType } = state
-      if (pageType === 'read') return
+      if (pageType === 'read' || pageType === 'edit') return
       if (pageType === 'readAll') {
         // 设置tabs数据
         state.tabsList = state.tabsList.map((elm) => ({
@@ -219,25 +226,6 @@ export default {
     CREATE_TREE_DATA(state) {},
     // 菜单添加子项setInit
     ADD_MENU_CHILDREN(state, params) {},
-    // 获取子页面所有距离顶部的集合基础信息
-    GET_ALL_OFFSETTOP(state) {
-      const getOffsetTop = (id) => {
-        const dom = document.getElementById(id)
-        if (!dom) return 0.9527
-        return dom.getBoundingClientRect().top
-      }
-      const list = []
-      state.domKeys.forEach((elm) => {
-        const top = getOffsetTop(elm)
-        if (top > 0 && top !== 0.9527) {
-          list.push({
-            domKey: elm,
-            top: getOffsetTop(elm)
-          })
-        }
-      })
-      state.offsetList = [...list]
-    },
     // 删除某一条数据
     DELETE_ITEM(state, domKey) {
       const tabPageData = [...state.tabPageData.children]
@@ -318,7 +306,6 @@ export default {
       state.editKeys = []
       state.subTabsActive = [] // 当前页签中所有已切换的数据
       state.domKeys = [] // 记录所有元素区域的唯一标识
-      state.offsetList = []
       state.selectEnum = [] // 部门数据
       state.userNames = {} // 人员数据
       state.pageType = 'edit'
@@ -418,6 +405,10 @@ export default {
         })
       }
       run(state.tabPageData.children)
+    },
+    // 获取用户月报操作区域权限
+    GET_USER_PERMISSION(state, roleCode) {
+      state.roleCode = roleCode
     }
   },
   actions: {
@@ -427,7 +418,11 @@ export default {
       { id, subReportId, subActive }
     ) {
       const { pageType } = state
-      if (pageType === 'readAll' || pageType === 'read') {
+      if (
+        pageType === 'readAll' ||
+        pageType === 'read' ||
+        pageType === 'edit'
+      ) {
         commit('INIT_PAGE_DATA')
         dispatch('getSubReportData', {
           id,
@@ -458,7 +453,7 @@ export default {
       let params = {}
       const method =
         pageType === 'readAll' ? getAllSubReportCatalog : getSubReport
-      if (pageType === 'read') {
+      if (pageType === 'read' || pageType === 'edit') {
         params = {
           subReportId
         }
@@ -472,7 +467,7 @@ export default {
       const res = await method(params)
       if (res.code === 200) {
         // 单个月报与完整月报数据梳理
-        if (pageType === 'read') {
+        if (pageType === 'read' || pageType === 'edit') {
           commit('SET_SUB_TITLE', res.data.reportName)
         }
         commit('SET_TAB_PAGE_DATA', {
@@ -483,7 +478,7 @@ export default {
         })
       }
     },
-    // 月报提交
+    // 月报更新
     async upDateReport({ commit, state }, cb) {
       const params = _.cloneDeep(state.pageDate)
       const tabPageData = _.cloneDeep(state.tabPageData)
@@ -514,6 +509,7 @@ export default {
         commit('SET_SELECT_ENUM', res.data.deptArch.children)
       }
     },
+    // 删除月报
     async deleteReport({ commit, state, context }, { key, cb }) {
       const res = await delMonthlyReport(state.pageDate.id)
       if (res.code === 200) {
@@ -521,6 +517,7 @@ export default {
         cb()
       }
     },
+    // 月报发送
     async sendReport({ commit, state, context }, { cb }) {
       const res = await sendConfirm({
         id: state.pageDate.id
@@ -529,6 +526,20 @@ export default {
         message.success('发送成功!')
         cb()
       }
+    },
+    // 月报回退
+    async returnReport({ commit, state, context }, { data, cb }) {
+      const res = await returnReport(data)
+      if (res.code === 200) {
+        cb()
+      }
+    },
+    // 获取用户月报操作区域权限
+    async getUserPermission({ commit }) {
+      const res = await getAvaliableInfo()
+      if (res.code === 200) {
+        commit('GET_USER_PERMISSION', res.data.roleCode)
+      }
     }
   }
 }

+ 12 - 12
src/views/monthlyReport/childrenPage/editReport/components/MrTable.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <div v-if="pageType !== 'edit'" v-html="analyticFeedback" />
+    <div v-if="pageType.search(/edit/) < 0" v-html="analyticFeedback" />
     <el-table
       :data="tableData"
       border
@@ -55,7 +55,7 @@
           <div
             v-else
             class="edit-wrapper"
-            :style="{ cursor: pageType === 'edit' ? 'pointer' : 'auto' }"
+            :style="{ cursor: pageType.search(/edit/) > -1 ? 'pointer' : 'auto' }"
           >
             <!--  <div v-if="editKeys.indexOf(`${scope.row.rowKey}_${index}`) > -1">  -->
             <div v-if="editKeys.indexOf(domKey) > -1 && !item.defaultValue">
@@ -193,7 +193,7 @@
       </el-table-column>
     </el-table>
     <div class="plus-table-data" :style="{ marginBottom: plusTableDataBottom }">
-      <el-button v-if="pageType === 'edit'" type="text" @click="addTableData">
+      <el-button v-if="pageType.search(/edit/) > -1 && pageDate.status === 0" type="text" @click="addTableData">
         <svg-icon icon-class="data-plus" class="icon" />
         新增
       </el-button>
@@ -297,7 +297,7 @@ export default {
           width = item.defaultValue.length * 50
         }
         if (
-          this.pageType !== 'edit' &&
+          this.pageType.search(/edit/) < 0 &&
           this.tabsActive.indexOf('本月重点问题') > -1
         ) {
           width = 90
@@ -310,7 +310,7 @@ export default {
       return false
     },
     editLine(row, index) {
-      if (this.pageType === 'edit') {
+      if (this.pageType.search(/edit/) > -1) {
         this.$store.commit('monthlyReportEdit/ADD_EDIT_KEYS', `${this.domKey}`)
       }
     },
@@ -336,7 +336,7 @@ export default {
     },
     // 分析反馈问题更新
     upDataAnalysis({ rowIndex, analyticFeedback }) {
-      if (this.pageType !== 'edit') {
+      if (this.pageType.search(/edit/) < 0) {
         console.log(rowIndex, analyticFeedback)
         this.tableData[rowIndex].analyticFeedback = _.cloneDeep(
           analyticFeedback
@@ -364,7 +364,7 @@ export default {
     setColumns(columns) {
       let newColumns = _.cloneDeep(columns)
       if (
-        this.pageType !== 'edit' &&
+        this.pageType.search(/edit/) < -1 &&
         this.tabsActive.indexOf('本月重点问题') > -1
       ) {
         newColumns = [
@@ -389,7 +389,7 @@ export default {
         }
       })
       if (
-        this.pageType !== 'edit' &&
+        this.pageType.search(/edit/) < 0 &&
         this.tabsActive.indexOf('本月重点问题') < 0
       ) {
         newColumns.splice(newColumns.length - 1, 1)
@@ -400,7 +400,7 @@ export default {
       if (
         columnIndex === 0 &&
         this.tabsActive.indexOf('本月重点问题') > -1 &&
-        this.pageType !== 'edit'
+        this.pageType.search(/edit/) < 0
       ) {
         return [1, 2]
       } else if (columnIndex === 1) {
@@ -409,7 +409,7 @@ export default {
     },
     // 查看页面数据分析
     setAnalyticFeedback() {
-      if (this.pageType !== 'edit' && this.tabsActive.indexOf('本月重点问题') > -1) {
+      if (this.pageType.search(/edit/) < 0 && this.tabsActive.indexOf('本月重点问题') > -1) {
         // this.$refs.Analysis.open()
         console.log(this.domKey)
         const tabPageData = reportDataBack(_.cloneDeep(this.tabPageData))
@@ -453,13 +453,13 @@ export default {
      * @returns {boolean}
      */
     isShowButton(row) {
-      if (this.pageType === 'edit') return true
+      if (this.pageType.search(/edit/) > -1 && this.pageDate.status === 0) return true
       if (row.analyticFeedback && row.analyticFeedback.isCommitted) {
         return false
       }
       // 默认所有情况都展示
       if (this.pageType) {
-        return true
+        return false
       }
       if (this.pageDate.createBy === this.username) return true
       for (let i = 0; i < this.columns.length; i++) {

+ 5 - 2
src/views/monthlyReport/childrenPage/editReport/components/RichText.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <div v-if="pageType !== 'edit'" v-html="item.value || '暂无数据!'" />
+    <div v-if="pageType.search(/edit/) < 0" v-html="item.value || '暂无数据!'" />
     <normal-area
       v-else-if="editKeys.indexOf(item.domKey) > -1"
       :id="item.domKey"
@@ -32,13 +32,16 @@ export default {
     pageType() {
       return this.$store.state.monthlyReportEdit.pageType
     },
+    pageDate() {
+      return this.$store.state.monthlyReportEdit.pageDate
+    },
     editKeys() {
       return this.$store.state.monthlyReportEdit.editKeys
     }
   },
   methods: {
     editDom() {
-      if (this.pageType === 'edit') {
+      if (this.pageType.search(/edit/) > -1 && this.pageDate.status === 0) {
         this.$store.commit(
           'monthlyReportEdit/ADD_EDIT_KEYS',
           // `${row.rowKey}_${index}`

+ 4 - 1
src/views/monthlyReport/childrenPage/editReport/components/VarText.vue

@@ -8,7 +8,7 @@
       <div class="title">{{ name }}</div>
       <div class="value">
         <el-input
-          v-if="pageType === 'edit'"
+          v-if="pageType.search(/edit/) > - 1 && pageDate.status === 0"
           v-model="textValue"
           type="textarea"
           placeholder="请输入"
@@ -52,6 +52,9 @@ export default {
   computed: {
     pageType() {
       return this.$store.state.monthlyReportEdit.pageType
+    },
+    pageDate() {
+      return this.$store.state.monthlyReportEdit.pageDate
     }
   },
   watch: {

+ 4 - 1
src/views/monthlyReport/childrenPage/editReport/components/core.vue

@@ -10,7 +10,7 @@
     >
       {{ headerIndex }}{{ headerTitle }}
       <el-button
-        v-if="headerTitle.indexOf('线下缺陷') > -1"
+        v-if="headerTitle.indexOf('线下缺陷') > -1 && pageDate.status === 0"
         size="mini"
         type="text"
         style="margin-left: 5px"
@@ -88,6 +88,9 @@ export default {
         return `${toChinesNum(this.domIndex + 1)}、`
       }
       return `${this.domIndex + 1}、`
+    },
+    pageDate() {
+      return this.$store.state.monthlyReportEdit.pageDate
     }
   },
   watch: {

+ 31 - 23
src/views/monthlyReport/childrenPage/editReport/components/menu.vue

@@ -7,27 +7,31 @@
       :style="menuStyle"
       :class="{ hide: show }"
     >
-      <el-dropdown-item
-      ><div @click.stop="hideDom">
-        <!--
-        menuData.item.isVisible === true
-           判断 当前点击元素 是否为用户自定义dom
-           menuData.item.fromUser === true  '删除'
-           menuData.item.fromUser === false '隐藏'
+      <el-dropdown-item v-if="pageDate.status === 0">
+        <div @click.stop="hideDom">
+          <!--
+          menuData.item.isVisible === true
+             判断 当前点击元素 是否为用户自定义dom
+             menuData.item.fromUser === true  '删除'
+             menuData.item.fromUser === false '隐藏'
 
-         menuData.item.isVisible === false'显示'
-           -->
-        {{
-          menuData.item.isVisible
-            ? menuData.item.fromUser
-            ? '删除'
-            : '隐藏'
-            : '显示'
-        }}
-      </div></el-dropdown-item
-      >
-      <el-dropdown-item><div @click="addItem('添加同级子项')">添加同级子项</div></el-dropdown-item>
-      <el-dropdown-item v-if="menuData.item.depth<4"><div @click="addItem('添加子项')">添加下级子项</div></el-dropdown-item>
+           menuData.item.isVisible === false'显示'
+             -->
+          {{
+            menuData.item.isVisible
+              ? menuData.item.fromUser
+                ? '删除'
+                : '隐藏'
+              : '显示'
+          }}
+        </div>
+      </el-dropdown-item>
+      <el-dropdown-item v-if="pageDate.status === 0">
+        <div @click="addItem('添加同级子项')">添加同级子项</div>
+      </el-dropdown-item>
+      <el-dropdown-item v-if="menuData.item.depth < 4 && pageDate.status === 0">
+        <div @click="addItem('添加子项')">添加下级子项</div>
+      </el-dropdown-item>
     </div>
     <createdItem ref="createdItem" />
   </div>
@@ -35,6 +39,7 @@
 
 <script>
 import createdItem from './createdItem'
+
 export default {
   name: 'Menu',
   // watch: {
@@ -61,6 +66,11 @@ export default {
       menuStyle: {}
     }
   },
+  computed: {
+    pageDate() {
+      return this.$store.state.monthlyReportEdit.pageDate
+    }
+  },
   methods: {
     init(menuData) {
       this.menuData = { ...menuData }
@@ -125,9 +135,7 @@ export default {
       this.$refs.createdItem.openModal(title, this.menuData.item)
     },
     // 添加下级子项
-    addSubItem() {
-
-    }
+    addSubItem() {}
   }
 }
 </script>

+ 78 - 26
src/views/monthlyReport/childrenPage/editReport/index.vue

@@ -1,19 +1,23 @@
 <template>
   <div ref="pageWrapper" class="page-wrapper" @click="setInit">
-    <headerCom title="月报" :sub-title="subTitle" address="/monthlyReport/index">
+    <headerCom
+      title="月报"
+      :sub-title="subTitle"
+      address="/monthlyReport/index"
+    >
       <template v-if="pageDate && pageDate.status === 0" slot="content">
         <el-button
-          v-if="pageDate && pageDate.status < 2"
-type="primary"
-size="small"
-@click="upDateReport"
+          v-if="pageDate && pageDate.status === 0"
+          type="primary"
+          size="small"
+          @click="upDateReport"
           >保存
         </el-button>
         <el-button
           v-if="pageDate && pageDate.status < 2"
-plain
-size="small"
-@click="dialogOpen('dialogSend')"
+          plain
+          size="small"
+          @click="dialogOpen('dialogSend')"
           >发送确认
         </el-button>
         <el-button
@@ -24,6 +28,20 @@ size="small"
           @click="$router.push({ path: '/monthlyReport/index' })"
           >取消
         </el-button>
+        <el-dropdown trigger="click" @command="returnReport">
+          <span class="el-dropdown-link">
+            下拉菜单<i class="el-icon-arrow-down el-icon--right" />
+          </span>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item command="all">全部</el-dropdown-item>
+            <el-dropdown-item
+              v-for="item in tabsList"
+              :key="item.name"
+              :command="item.name"
+              >{{ item.label }}
+            </el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
         <el-button
           v-if="pageDate && pageDate.status < 2"
           slot="reference"
@@ -34,13 +52,14 @@ size="small"
         </el-button>
       </template>
     </headerCom>
+
     <!--     <div style="position: fixed;z-index: 99; top: 20px">
           <el-button type="primary" @click="test">test</el-button>
         </div> -->
     <!--  content  -->
     <div class="content-wrapper">
       <el-tabs
-        v-if="pageType !== 'read'"
+        v-if="pageType.search(/All/) > -1"
         :value="tabsActive"
         @tab-click="tabClick"
       >
@@ -71,13 +90,15 @@ size="small"
             :target="() => $refs.pageWrapper.parentNode"
             @change="userFun"
           >
-            <Anchor
-              :list="tabPageData && tabPageData.children"
-              :active="anchorActive"
-              @change="anchorChange"
-              @openMenu="openMenu"
-            />
-            <Menu ref="menu" />
+            <div style="max-height: 500px;overflow-y: scroll;">
+              <Anchor
+                :list="tabPageData && tabPageData.children"
+                :active="anchorActive"
+                @change="anchorChange"
+                @openMenu="openMenu"
+              />
+              <Menu ref="menu" />
+            </div>
           </Affix>
         </div>
       </div>
@@ -178,6 +199,9 @@ export default {
     },
     pageType() {
       return this.$store.state.monthlyReportEdit.pageType
+    },
+    roleCode() {
+      return this.$store.state.monthlyReportEdit.roleCode
     }
   },
   watch: {
@@ -185,22 +209,35 @@ export default {
       this.$refs.affix.init()
     }
   },
+  created() {
+    // 默认获取用户权限
+    this.$store.dispatch('monthlyReportEdit/getUserPermission')
+  },
   mounted() {
+    /*
+     * read: 查看子月报
+     * readAll:查看完整月报
+     * edit:编辑子月报
+     * editAll:编辑完整月报
+     * */
+    if (this.$route.query.pageType) {
+      this.$store.commit(
+        'monthlyReportEdit/SET_PAGE_TYPE',
+        this.$route.query.pageType
+      )
+    }
+    // 获取部门数据;只有查看但业务线时,才需要单独获取部门数据
     if (this.$route.query.pageType === 'read' && this.$route.query.reportId) {
       this.$store.dispatch(
         'monthlyReportEdit/setSelectEnum',
         this.$route.query.reportId
       )
     }
+    // 查看
     if (this.$route.query.pageType === 'readAll') {
       this.$store.commit('monthlyReportEdit/SET_SUB_TITLE', '查看完整月报')
     }
-    if (this.$route.query.pageType) {
-      this.$store.commit(
-        'monthlyReportEdit/SET_PAGE_TYPE',
-        this.$route.query.pageType
-      )
-    }
+
     if (this.$route.query.reportId || this.$route.query.subReportId) {
       this.$store.dispatch('monthlyReportEdit/initPageData', {
         id: this.$route.query.reportId,
@@ -215,6 +252,7 @@ export default {
   },
   methods: {
     setInit() {
+      this.$store.commit('monthlyReportEdit/INIT_EDIT_KEYS')
       // window.addEventListener('click', () => {
       //   this.$refs.menu.show = true
       //   console.log(127)
@@ -313,10 +351,6 @@ export default {
         id: this.$route.query.reportId,
         tabsActive: tab.name
       })
-      // this.$store.commit('monthlyReportEdit/TAB_ACTIVE_CHANGE', tab.name)
-      // this.$nextTick(() => {
-      //   this.$store.commit('monthlyReportEdit/GET_ALL_OFFSETTOP')
-      // })
     },
     dialogOpen(key) {
       this.$refs[key].visible = true
@@ -332,6 +366,24 @@ export default {
           this.$router.push({ path: '/monthlyReport/index' })
         }
       })
+    },
+    // 月报退回
+    returnReport(command) {
+      let list = []
+      if (command === 'all') {
+        list = this.tabsList.map((elm) => {
+          return Number.parseInt(elm.name.replace('tab_', ''))
+        })
+      } else {
+        list.push(Number.parseInt(command.replace('tab_', '')))
+      }
+      this.$store.dispatch('monthlyReportEdit/returnReport', {
+        data: list,
+        cb: () => {
+          this.$message.success('退回成功!')
+          this.$router.push({ path: '/monthlyReport/index' })
+        }
+      })
     }
   }
 }

+ 140 - 140
src/views/monthlyReport/components/monthlyEards.vue

@@ -1,140 +1,140 @@
-<template>
-  <el-card shadow="always" class="card">
-    <div class="Layout-flex report-header">
-      <span>{{ data.bizName }}</span>
-      <el-button v-show="data.status === 20 || data.status === 30" type="text" @click="$router.push({ path: '/monthlyReport/edit', query: { pageType: 'read', reportId: data.bizNam, subActive: data.bizName }})">查看更多</el-button>
-      <el-button v-show="data.status === 10" type="text">{{ '填写' }}</el-button>
-    </div>
-    <div class="report-title">
-      <svg-icon class="report-icon-title" icon-class="icon-red" />重点问题
-    </div>
-    <section class="report-content-data">
-      <div class="div_ellipsis">
-        待反馈:
-        <el-tooltip class="item" effect="dark" :content="data.feedback" placement="top-start">
-          <span>{{ data.feedback }}</span>
-        </el-tooltip>
-      </div>
-      <div style="margin-bottom: 10px;">
-        改进项:
-        <span>{{ data.improveNum }}</span>
-        已完成:
-        <span>{{ data.finishNum }}</span>
-      </div>
-      <div class="div_ellipsis">
-        本月新增线上问题 {{ data.problem.key }} 个,
-        <el-tooltip class="item" effect="dark" :content="'团队: ' + data.problem.team.join() + ' 责任人:' + data.problem.charge.join()" placement="top-start">
-          <span>
-            归属于:{{ data.problem.team ? data.problem.team.join() : '' }}团队
-            <span style="margin-left: 10px">责任人:{{ data.problem.charge.join() }}</span>
-          </span>
-        </el-tooltip>
-      </div>
-      <div class="div_ellipsis">
-        本月提测打回 {{ data.returnBackData.key }} 个:
-         <el-tooltip class="item" effect="dark" :content="data.returnBackData.projectName.join()" placement="top-start">
-          <span>{{ data.returnBackData.projectName.join() }}</span>
-        </el-tooltip>
-      </div>
-    </section>
-    <div class="report-title">
-      <svg-icon class="report-icon-title" icon-class="icon-yellow" />上月改进
-    </div>
-    <section class="report-content-data" style="margin-bottom: 10px; height: 100px; overflow-y: auto;">
-      <div v-for="(item, index) in data.lastMonthImprovment.improve" :key="index">
-        {{ data.lastMonthImprovment.projectName || '少时诵诗书' }}
-        负责人:
-        <span>{{ item.charge }}</span>,
-        进展:
-        <span>{{ item.process }}</span>
-      </div>
-    </section>
-  </el-card>
-</template>
-
-<script>
-export default {
-  props: {
-    datas: { type: Object, required: true }
-  },
-  data() {
-    return {
-      data: {}
-    }
-  },
-  watch: {
-    datas: {
-      handler(newV) {
-        this.data = newV
-      },
-      deep: true,
-      immediate: true
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.card {
-  color: #333333;
-  border: 1px solid #FFF;
-  margin: 5px 0;
-  >>> .el-card__body {
-    padding: 0;
-  }
-  >>>.el-tooltip__popper {
-    position: absolute;
-    border-radius: 4px;
-    padding: 10px;
-    z-index: 2000;
-    font-size: 12px;
-    line-height: 1.2;
-    min-width: 10px;
-    max-width: 200px;
-    word-wrap: break-word;
-}
-  .Layout-flex {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-  }
-  .Layout-start {
-    display: flex;
-    align-items: center;
-    justify-content: flex-start;
-  }
-  .report-header {
-    font-weight: 500;
-    line-height: 60px;
-    padding: 0 20px;
-    border-bottom: 1px solid #e2e2e2;
-  }
-  .report-title {
-    padding: 20px 20px 5px;
-    display: flex;
-    align-items: center;
-    .report-icon-title {
-      color: #333333;
-      font-size: 30px;
-      margin-right: 10px;
-    }
-  }
-  .report-content-data {
-    margin: 0 20px 0 63px;
-    div {
-      color: #666666;
-      font-size: 14px;
-      font-weight: 400;
-      line-height: 23px;
-      span {
-        color: #333333;
-      }
-    }
-  }
-}
-.div_ellipsis {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-}
-</style>
+<template>
+  <el-card shadow="always" class="card">
+    <div class="Layout-flex report-header">
+      <span>{{ data.bizName }}</span>
+      <el-button v-show="data.status === 20 || data.status === 30" type="text" @click="$router.push({ path: '/monthlyReport/edit', query: { pageType: 'readAll', reportId: data.bizNam, subActive: data.bizName }})">查看更多</el-button>
+      <el-button v-show="data.status === 10" type="text">{{ '填写' }}</el-button>
+    </div>
+    <div class="report-title">
+      <svg-icon class="report-icon-title" icon-class="icon-red" />重点问题
+    </div>
+    <section class="report-content-data">
+      <div class="div_ellipsis">
+        待反馈:
+        <el-tooltip class="item" effect="dark" :content="data.feedback" placement="top-start">
+          <span>{{ data.feedback }}</span>
+        </el-tooltip>
+      </div>
+      <div style="margin-bottom: 10px;">
+        改进项:
+        <span>{{ data.improveNum }}</span>
+        已完成:
+        <span>{{ data.finishNum }}</span>
+      </div>
+      <div class="div_ellipsis">
+        本月新增线上问题 {{ data.problem.key }} 个,
+        <el-tooltip class="item" effect="dark" :content="'团队: ' + data.problem.team.join() + ' 责任人:' + data.problem.charge.join()" placement="top-start">
+          <span>
+            归属于:{{ data.problem.team ? data.problem.team.join() : '' }}团队
+            <span style="margin-left: 10px">责任人:{{ data.problem.charge.join() }}</span>
+          </span>
+        </el-tooltip>
+      </div>
+      <div class="div_ellipsis">
+        本月提测打回 {{ data.returnBackData.key }} 个:
+         <el-tooltip class="item" effect="dark" :content="data.returnBackData.projectName.join()" placement="top-start">
+          <span>{{ data.returnBackData.projectName.join() }}</span>
+        </el-tooltip>
+      </div>
+    </section>
+    <div class="report-title">
+      <svg-icon class="report-icon-title" icon-class="icon-yellow" />上月改进
+    </div>
+    <section class="report-content-data" style="margin-bottom: 10px; height: 100px; overflow-y: auto;">
+      <div v-for="(item, index) in data.lastMonthImprovment.improve" :key="index">
+        {{ data.lastMonthImprovment.projectName || '少时诵诗书' }}
+        负责人:
+        <span>{{ item.charge }}</span>,
+        进展:
+        <span>{{ item.process }}</span>
+      </div>
+    </section>
+  </el-card>
+</template>
+
+<script>
+export default {
+  props: {
+    datas: { type: Object, required: true }
+  },
+  data() {
+    return {
+      data: {}
+    }
+  },
+  watch: {
+    datas: {
+      handler(newV) {
+        this.data = newV
+      },
+      deep: true,
+      immediate: true
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.card {
+  color: #333333;
+  border: 1px solid #FFF;
+  margin: 5px 0;
+  >>> .el-card__body {
+    padding: 0;
+  }
+  >>>.el-tooltip__popper {
+    position: absolute;
+    border-radius: 4px;
+    padding: 10px;
+    z-index: 2000;
+    font-size: 12px;
+    line-height: 1.2;
+    min-width: 10px;
+    max-width: 200px;
+    word-wrap: break-word;
+}
+  .Layout-flex {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+  }
+  .Layout-start {
+    display: flex;
+    align-items: center;
+    justify-content: flex-start;
+  }
+  .report-header {
+    font-weight: 500;
+    line-height: 60px;
+    padding: 0 20px;
+    border-bottom: 1px solid #e2e2e2;
+  }
+  .report-title {
+    padding: 20px 20px 5px;
+    display: flex;
+    align-items: center;
+    .report-icon-title {
+      color: #333333;
+      font-size: 30px;
+      margin-right: 10px;
+    }
+  }
+  .report-content-data {
+    margin: 0 20px 0 63px;
+    div {
+      color: #666666;
+      font-size: 14px;
+      font-weight: 400;
+      line-height: 23px;
+      span {
+        color: #333333;
+      }
+    }
+  }
+}
+.div_ellipsis {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+</style>