Эх сурвалжийг харах

Merge branch 'monthly_report_daily_bug_0.0.2' into http_mock

洪海涛 4 жил өмнө
parent
commit
a0b8bcd0b9

+ 4 - 7
src/assets/css/index.less

@@ -70,11 +70,8 @@
 }
 
 @font-face {
-  font-family: 'iconfont';  /* project id 2402558 */
-  src: url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.eot');
-  src: url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.eot?#iefix') format('embedded-opentype'),
-  url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.woff2') format('woff2'),
-  url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.woff') format('woff'),
-  url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.ttf') format('truetype'),
-  url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.svg#iconfont') format('svg');
+  font-family: 'iconfont';  /* Project id 2402558 */
+  src: url('//at.alicdn.com/t/font_2402558_538plilwhpo.woff2?t=1620356015326') format('woff2'),
+       url('//at.alicdn.com/t/font_2402558_538plilwhpo.woff?t=1620356015326') format('woff'),
+       url('//at.alicdn.com/t/font_2402558_538plilwhpo.ttf?t=1620356015326') format('truetype');
 }

+ 2 - 0
src/store/modules/monthlyReport/edit/index.js

@@ -614,6 +614,7 @@ export default {
         if (res.code === 200 && res.data) {
           commit('INIT_PAGE_DATA', { ...res.data })
           commit('INIT_TAB_PAGE_DATA', subActive && `tab_${subActive}`)
+          commit('SET_LOADING', false)
         }
       }
     },
@@ -666,6 +667,7 @@ export default {
           id,
           tabsActive
         })
+        commit('SET_LOADING', false)
         // 设置月报子标题
         setTimeout(() => {
           commit('SET_SUB_TITLE', {

+ 4 - 7
src/styles/index.scss

@@ -128,11 +128,8 @@ div:focus {
 }
 
 @font-face {
-  font-family: 'iconfont';  /* project id 2402558 */
-  src: url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.eot');
-  src: url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.eot?#iefix') format('embedded-opentype'),
-  url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.woff2') format('woff2'),
-  url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.woff') format('woff'),
-  url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.ttf') format('truetype'),
-  url('//at.alicdn.com/t/font_2402558_9bkkmgijjij.svg#iconfont') format('svg');
+  font-family: 'iconfont';  /* Project id 2402558 */
+  src: url('//at.alicdn.com/t/font_2402558_538plilwhpo.woff2?t=1620356015326') format('woff2'),
+       url('//at.alicdn.com/t/font_2402558_538plilwhpo.woff?t=1620356015326') format('woff'),
+       url('//at.alicdn.com/t/font_2402558_538plilwhpo.ttf?t=1620356015326') format('truetype');
 }

+ 9 - 2
src/views/monthlyReport/childrenPage/editReport/components/MrTable/index.vue

@@ -317,7 +317,7 @@ export default {
       let width = 80
       if (item.name === '操作') {
         if (item.defaultValue.length) {
-          width = item.defaultValue.length * 30
+          width = item.defaultValue.length * (item.defaultValue.length > 2 ? 20 : 30)
         }
         if (this.isExpand) {
           width = 90
@@ -325,10 +325,17 @@ export default {
       }
       if (item.name === '定级') {
         width = 70
+        if (this.$route.query.pageType.search(/read/) > -1) {
+          width = 55
+        }
+      }
+
+      if (item.name === '原因') {
+        width = 200
       }
 
       if (item.name === '影响') {
-        width = 130
+        width = 100
       }
 
       return `${width}px`

+ 10 - 8
src/views/monthlyReport/childrenPage/editReport/components/OverallOverviewOfTheClient/onlineQuestion.vue

@@ -5,7 +5,7 @@
       <div class="echarts-wrapper">
         <div class="pie-wrapper">
           <div class="total-wrapper">
-            总数:<span class="total" @click.stop="reportBizName = ''">{{ tabData.total }}</span>
+            总数:<span class="total fontWeight" @click.stop="reportBizName = ''">{{ tabData.total }}</span>
           </div>
           <div
             id="a_tylo_oo_2ppmn_ayghs"
@@ -16,20 +16,19 @@
         </div>
         <div class="detail-wrapper">
           <div v-if="tabData && pieData.length">
-          <div class="fontWeight" style="margin-bottom: 10px;">{{ tabData.title }}</div>
+          <div style="margin-bottom: 10px;" v-html="tabData.title.replace(/线上问题/,'<strong>线上问题</strong>' ).replace(/为(\d+)/g, `为<strong>$1</strong>`)" />
           <div
             v-for="item in tabData.onlineProblemCopywriters.filter((elm) =>
               reportBizName ? elm.reportBizName === reportBizName : true
             )"
             :key="item.reportBizName"
           >
-            <div v-if="item.problemDetails.length" class="fontWeight" style="margin-top: 5px">{{ item.reportBizName }}:{{ item.priorityStr }}</div>
+            <div v-if="item.problemDetails.length" style="margin-top: 5px"><span class="fontWeight">{{ item.reportBizName }}</span>:<span v-html="item.priorityStr.replace(/\ (\d+)/g, `为<strong>$1</strong>`)" /></div>
             <div v-for="(pitem, pIndex) in item.problemDetails" :key="pIndex">
               <div class="fontWeight" style="color: #ED8F41;margin-top: 10px;">{{ pitem.subClientType }}</div>
               <div v-for="(dItem, dIndex) in pitem.details" :key="dIndex" style="padding-left: 10px">
-                <div style="margin-top: 5px;">
-                  <span class="fontWeight">{{ dIndex + 1 }}、</span
-                  ><span class="fontWeight">{{ dItem.priority }}问题:</span
+                <div style="margin-top: 5px;"><span>{{ dIndex + 1 }}、</span
+                  ><span>{{ dItem.priority }}问题:</span
                   >{{ dItem.problem }}
                 </div>
                 <div v-html="dItem.reason" />
@@ -38,7 +37,7 @@
           </div>
         </div>
 </div>
-        <div v-if="!pieData.length" class="no-data">各业务线{{ active }}类线上问题为 <span style="font-size: 16px">0</span>!</div>
+        <div v-if="!pieData.length" class="no-data">各业务线{{ active }}类<strong>线上问题</strong>为<span style="font-size: 16px">0</span>!</div>
       </div>
     </boxCom>
   </div>
@@ -183,7 +182,7 @@ export default {
   }
   .fontWeight {
     color: #333;
-    font-weight: 500;
+    font-weight: 600;
   }
   .no-data {
       top: 50%;
@@ -192,5 +191,8 @@ export default {
   text-align: center;
     position:absolute;
   }
+  /deep/strong{
+    font-weight: 600;
+  }
 }
 </style>

+ 7 - 10
src/views/monthlyReport/childrenPage/editReport/components/OverallOverviewOfTheClient/qualityProcess.vue

@@ -16,10 +16,7 @@
           />
           <div v-if="tabData && pieData.filter(elm => elm.total).length" style="width: 205px;color: #333">
             本月{{ active }}类:
-            <span v-for="(item, itemIndex ) in tabData.qualityProcessAndRdEfficiencyCopywriters" :key="itemIndex">
-              <span>{{ item.type }}</span>
-              <span :class="{ fontWeight: true, red: item.total > 0 }">{{ item.total }}</span>次
-              <span>{{ tabData.qualityProcessAndRdEfficiencyCopywriters.length - 1 > itemIndex ? ',': '。' }}</span>
+            <span v-for="(item, itemIndex ) in tabData.qualityProcessAndRdEfficiencyCopywriters" :key="itemIndex"><span>{{ item.type }}</span><span :class="{ fontWeight: true, red: item.total > 0 }">{{ item.total }}</span>次<span>{{ tabData.qualityProcessAndRdEfficiencyCopywriters.length - 1 > itemIndex ? ',': '。' }}</span>
             </span>
           </div>
         </div>
@@ -34,8 +31,8 @@
               :key="itemIndex"
               style="margin-bottom: 10px"
             >
-              <div class="fontWeight" style="margin-bottom: 0px">
-                {{ item.type }}数据
+              <div style="margin-bottom: 0px">
+                <span class="fontWeight">{{ item.type }}</span>数据
               </div>
               <div style="margin-top: 0px;color: #333;">本月{{ item.type }}<span style="font-weight: 500">{{ item.total }}</span>次</div>
               <div
@@ -52,7 +49,7 @@
                   style="margin-bottom: 5px;padding-left: 10px"
                 >
                   <div v-if="subItem.name" style="margin-top: 0px">
-                    <span class="fontWeight">{{ subindex + 1 }}、</span
+                    <span>{{ subindex + 1 }}、</span
                     >{{ subItem.name
                     }}<span
   v-if="subItem.description"
@@ -64,7 +61,7 @@
             </div>
           </div>
         </div>
-        <div v-if="!pieData.filter(elm => elm.total).length" class="no-data">各业务线{{ active }}类质量流程&研发效率问题为 <span style="font-size: 16px">0</span>!</div>
+        <div v-if="!pieData.filter(elm => elm.total).length" class="no-data">各业务线{{ active }}类<strong>质量流程&研发效率</strong>问题为 <span style="font-size: 16px">0</span>!</div>
       </div>
     </boxCom>
   </div>
@@ -268,8 +265,8 @@ export default {
     height: 235px;
     overflow-y: scroll;
   }
-    .fontWeight {
-    font-weight: 500;
+  .fontWeight {
+    font-weight: 600;
     color: #333;
   }
   .red {

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

@@ -95,7 +95,7 @@ export default {
 </script>
 <style lang="less" scoped>
 .OverallOverviewOfTheServer {
-  margin-top: 30px;
+  margin-top: 20px;
   table {
     border-collapse: collapse;
     width: 100%;

+ 1 - 0
src/views/monthlyReport/childrenPage/editReport/components/content.vue

@@ -18,6 +18,7 @@
           本月无线上问题!
         </div>
         <div v-else-if="title.search(/问题跟进/) > -1" style="margin-top: 10px;color: #666">上月无重点问题!</div>
+        <div v-else-if="title.search(/持续改进/) > -1" style="margin-top: 10px;color: #666">本月无持续改进!</div>
         <div v-else-if="title.search(/重点问题/) > -1" style="margin-top: 10px;color: #666">本月无重点问题!</div>
         <div v-else-if="title.search(/两轮车|代驾|货运|硬件|中台/) > -1" style="margin-top: 10px;color: #666">{{ setNoDataTitle(title) }}</div>
       </div>

+ 25 - 2
src/views/monthlyReport/childrenPage/editReport/components/core.vue

@@ -71,7 +71,12 @@
             :name="item.domKey"
             :dom-index="index"
           >
-            <Core :key="item.domKey" :tab-key="baseData.domKey" :dom-index="index" :base-data="item" />
+            <span slot="label">
+              <span v-if="item.title.search(/服务端|客户端/) > -1">
+                <i class="iconfont icon" :class="{colorActive: item.domKey === activeName}">{{ item.title === '服务端'?'&#xe607;' : '&#xe608;' }}</i>
+              </span>
+            {{ item.title }}</span>
+            <Core :key="item.domKey" v-loading="loading" style="padding-left: 20px;" :tab-key="baseData.domKey" :dom-index="index" :base-data="item" />
           </el-tab-pane>
         </el-tabs>
       </div>
@@ -130,6 +135,7 @@ export default {
       fontWeightFont: ['两轮车', '代驾', '货运', '硬件', '中台'],
       pullDataAgainTitle: ['上月问题跟进', '线上问题', '线下缺陷', '发布&回滚'],
       activeName: '',
+      loading: false,
       headerTitle: ''
     }
   },
@@ -198,12 +204,15 @@ export default {
       this.$forceUpdate()
     },
     handleClick(tab, event) {
+      this.loading = true
       // console.log(tab, event)
       this.$nextTick(() => {
         this.$store.commit('monthlyReportEdit/GET_ALL_OFFSETTOP')
         this.$store.commit('monthlyReportEdit/INIT_EDIT_KEYS')
       })
-
+      setTimeout(() => {
+        this.loading = false
+      }, 650)
       // const { name } = tab
       // this.$store.commit('monthlyReportEdit/SUB_TABS_ACTIVE', this.baseData.children[0].domKey, this.activeName)
     },
@@ -317,4 +326,18 @@ export default {
 /deep/ .el-tabs__content {
   margin-top: -10px;
 }
+/deep/.el-tabs__item {
+  .iconfont{
+    color: #333;
+    font-size: 14px;
+    &.colorActive{
+      color: #409EFF;
+    }
+  }
+  &:hover {
+    .iconfont {
+      color: #409EFF;
+    }
+  }
+}
 </style>

+ 10 - 1
src/views/monthlyReport/childrenPage/editReport/index.vue

@@ -56,7 +56,7 @@
       <el-tabs v-if="pageType.search(/All/) > -1" :value="tabsActive" @tab-click="tabClick">
         <el-tab-pane v-for="item in tabsList" :key="item.name" :label="item.label" :name="item.name" />
       </el-tabs>
-      <div class="body-wrapper">
+      <div v-loading="bodyLoading" class="body-wrapper">
         <div class="left-wrapper">
           <div v-if="tabPageShow">
             <Core v-for="(item, index) in tabPageData.children" :key="item.domKey" :dom-index="index" :base-data="item" />
@@ -131,6 +131,7 @@ export default {
     return {
       /* 右侧列表页数据 */
       anchorActive: '',
+      bodyLoading: false,
       scrollTop: 0
     }
   },
@@ -196,6 +197,7 @@ export default {
   },
   created() {
     this.$store.commit('monthlyReportEdit/INIT_STATE_DATA')
+    this.$store.commit('monthlyReportEdit/SET_LOADING', true)
     this.indexShow = true
     // 默认获取用户权限
     this.$store.dispatch('monthlyReportEdit/getUserPermission')
@@ -238,6 +240,9 @@ export default {
       })
       // this.getPageData(this.$route.query.reportId)
     }
+    // setTimeout(() => {
+    //   this.$store.commit('monthlyReportEdit/SET_LOADING', false)
+    // }, 1000)
   },
   destroyed() {
     this.indexShow = false
@@ -389,11 +394,15 @@ export default {
       })
     },
     tabClick(tab, event) {
+      this.bodyLoading = true
       this.$store.dispatch('monthlyReportEdit/tabActiveChange', {
         ...this.$route.query,
         id: this.$route.query.reportId,
         tabsActive: tab.name
       })
+      setTimeout(() => {
+        this.bodyLoading = false
+      }, 700)
     },
     dialogOpen(key) {
       this.$refs[key].visible = true