wenbobowen 4 năm trước cách đây
mục cha
commit
de07899f50

+ 1 - 1
src/apiConfig/requestIP.js

@@ -1,5 +1,5 @@
 export let host = 'http://zhihui-test.intra.xiaojukeji.com'
-// export let host = 'http://zhihui-pre.intra.xiaojukeji.com'
+// export let host = 'http://localhost:8990'
 export let requestIp = host + '/zuul'
 export let loginUrl = host + '/sso/login?jumpto=' + 'http://zhihui-test.intra.xiaojukeji.com' + location.pathname
 export let logoutUrl = host + '/sso/logout?jumpto=' + 'http://zhihui-test.intra.xiaojukeji.com' + location.pathname

+ 3 - 3
src/views/dataBigManage/components/drawerModal/index.vue

@@ -97,6 +97,9 @@ export default {
       }
     }
   },
+  computed: {
+    ...mapGetters(['bizId'])
+  },
   watch: {
     openDrawer(value) {
       if (value) {
@@ -107,9 +110,6 @@ export default {
       }
     }
   },
-  computed: {
-    ...mapGetters(['bizId'])
-  },
   created() {
     this.drawer = false
   },

+ 94 - 13
src/views/dataBigManage/components/efficiencyModule/index.vue

@@ -53,12 +53,24 @@
         <div class="titleLevel3" style="color: #7ED321;">平均需求使用人力</div>
         <div class="content">
           <div class="item effic" style="color: #7ED321;margin-bottom: 20px;">
-            <span class="num">{{ mainData.requirementPeopleData.countStr }}</span>
+            <span
+              class="num"
+              @click.stop="$emit(
+                'checkDetialModal',
+                { ...mainData.requirementPeopleData, activeLabel: mainData.requirementPeopleData.label }
+              )"
+            >{{ mainData.requirementPeopleData.countStr }}</span>
             <span class="unit">人/日</span>
           </div>
           <div class="item point" style="margin-bottom: 20px;">
             <span class="title">环比:</span>
-            <span :class="Number(mainData.requirementPeopleData.chainRatio) > 0 ? 'item-up num' : 'item-down num'">
+            <span
+              :class="Number(mainData.requirementPeopleData.chainRatio) > 0 ? 'item-up num' : 'item-down num'"
+              @click.stop="$emit(
+                'checkDetialModal',
+                { ...mainData.requirementPeopleData, activeLabel: mainData.requirementPeopleData.label }
+              )"
+            >
               <i v-if="Number(mainData.requirementPeopleData.chainRatio) > 0" class="el-icon-caret-top" />
               <i v-else class="el-icon-caret-bottom" />
               {{ mainData.requirementPeopleData.chainRatio }}%
@@ -66,7 +78,15 @@
           </div>
         </div>
         <div class="foot">
-          <div v-for="item in mainData.requirementPeopleData.subCountList" :key="item.label" class="item">
+          <div
+            v-for="item in mainData.requirementPeopleData.subCountList"
+            :key="item.label"
+            class="item"
+            @click.stop="$emit(
+              'checkDetialModal',
+              { ...mainData.requirementPeopleData, activeLabel: item.label }
+            )"
+          >
             <span class="title">{{ item.label }}:</span>
             <span class="value">
               <span class="num">{{ item.countStr }}</span>
@@ -81,12 +101,24 @@
         <div class="titleLevel3" style="color: #F5222D;">缺陷平均修复时长</div>
         <div class="content">
           <div class="item effic" style="color: #F5222D;">
-            <span class="num">{{ mainData.bugAvgRepairData.countStr }}</span>
+            <span
+              class="num"
+              @click.stop="$emit(
+                'checkDetialModal',
+                { ...mainData.bugAvgRepairData, activeLabel: mainData.bugAvgRepairData.label }
+              )"
+            >{{ mainData.bugAvgRepairData.countStr }}</span>
             <span class="unit">h</span>
           </div>
           <div class="item point">
             <span class="title">环比:</span>
-            <span :class="Number(mainData.bugAvgRepairData.chainRatio) > 0 ? 'item-up num' : 'item-down num'">
+            <span
+              :class="Number(mainData.bugAvgRepairData.chainRatio) > 0 ? 'item-up num' : 'item-down num'"
+              @click.stop="$emit(
+                'checkDetialModal',
+                { ...mainData.bugAvgRepairData, activeLabel: mainData.bugAvgRepairData.label }
+              )"
+            >
               <i v-if="Number(mainData.bugAvgRepairData.chainRatio) > 0" class="el-icon-caret-top" />
               <i v-else class="el-icon-caret-bottom" />
               {{ mainData.bugAvgRepairData.chainRatio }}%
@@ -94,7 +126,15 @@
           </div>
         </div>
         <div class="foot">
-          <div v-for="item in mainData.bugAvgRepairData.subCountList" :key="item.label" class="item">
+          <div
+            v-for="item in mainData.bugAvgRepairData.subCountList"
+            :key="item.label"
+            class="item"
+            @click.stop="$emit(
+              'checkDetialModal',
+              { ...mainData.bugAvgRepairData, activeLabel: item.label }
+            )"
+          >
             <span class="title">{{ item.label }}:</span>
             <span class="value">
               <span class="num">{{ item.countStr }}</span>
@@ -127,12 +167,24 @@
         <div class="titleLevel3" style="color: #FAAD14;">任务平均交付周期</div>
         <div class="content">
           <div class="item effic" style="color: #FAAD14;">
-            <span class="num">{{ mainData.taskData.countStr }}</span>
+            <span
+              class="num"
+              @click.stop="$emit(
+                'checkDetialModal',
+                { ...mainData.taskData, activeLabel: mainData.taskData.label }
+              )"
+            >{{ mainData.taskData.countStr }}</span>
             <span class="unit">天</span>
           </div>
           <div class="item point">
             <span class="title">环比:</span>
-            <span :class="Number(mainData.taskData.chainRatio) > 0 ? 'item-up num' : 'item-down num'">
+            <span
+              :class="Number(mainData.taskData.chainRatio) > 0 ? 'item-up num' : 'item-down num'"
+              @click.stop="$emit(
+                'checkDetialModal',
+                { ...mainData.taskData, activeLabel: mainData.taskData.label }
+              )"
+            >
               <i v-if="Number(mainData.taskData.chainRatio) > 0" class="el-icon-caret-top" />
               <i v-else class="el-icon-caret-bottom" />
               {{ mainData.taskData.chainRatio }}%
@@ -140,7 +192,15 @@
           </div>
         </div>
         <div class="foot">
-          <div v-for="item in mainData.taskData.subCountList" :key="item.label" class="item">
+          <div
+            v-for="item in mainData.taskData.subCountList"
+            :key="item.label"
+            class="item"
+            @click.stop="$emit(
+              'checkDetialModal',
+              { ...mainData.taskData, activeLabel: item.label }
+            )"
+          >
             <span class="title">{{ item.label }}:</span>
             <span class="value">
               <span class="num">{{ item.countStr }}</span>
@@ -162,12 +222,24 @@
         <div class="titleLevel3" style="color: #C97DE9;">缺陷24小时修复率</div>
         <div class="content">
           <div class="item effic" style="color: #C97DE9;">
-            <span class="num">{{ mainData.bugAvgOneDataRepairData.countStr }}</span>
+            <span
+              class="num"
+              @click.stop="$emit(
+                'checkDetialModal',
+                { ...mainData.bugAvgOneDataRepairData, activeLabel: mainData.bugAvgOneDataRepairData.label }
+              )"
+            >{{ mainData.bugAvgOneDataRepairData.countStr }}</span>
             <span class="unit">%</span>
           </div>
           <div class="item point">
             <span class="title">环比:</span>
-            <span :class="Number(mainData.bugAvgOneDataRepairData.chainRatio) > 0 ? 'item-up num' : 'item-down num'">
+            <span
+              :class="Number(mainData.bugAvgOneDataRepairData.chainRatio) > 0 ? 'item-up num' : 'item-down num'"
+              @click.stop="$emit(
+                'checkDetialModal',
+                { ...mainData.bugAvgOneDataRepairData, activeLabel: mainData.bugAvgOneDataRepairData.label }
+              )"
+            >
               <i v-if="Number(mainData.bugAvgOneDataRepairData.chainRatio) > 0" class="el-icon-caret-top" />
               <i v-else class="el-icon-caret-bottom" />
               {{ mainData.bugAvgOneDataRepairData.chainRatio }}%
@@ -175,7 +247,15 @@
           </div>
         </div>
         <div class="foot">
-          <div v-for="item in mainData.bugAvgOneDataRepairData.subCountList" :key="item.label" class="item">
+          <div
+            v-for="item in mainData.bugAvgOneDataRepairData.subCountList"
+            :key="item.label"
+            class="item"
+            @click.stop="$emit(
+              'checkDetialModal',
+              { ...mainData.bugAvgOneDataRepairData, activeLabel: item.label }
+            )"
+          >
             <span class="title">{{ item.label }}:</span>
             <span class="value">
               <span class="num">{{ item.countStr }}</span>
@@ -222,7 +302,6 @@ export default {
   },
   watch: {
     datas(newVal) {
-      console.log(newVal)
       this.resetBaseData()
     }
   },
@@ -270,6 +349,7 @@ export default {
           margin: 12px 16px 30px 0;
           .num {
             font-size: 18px;
+            cursor: pointer;
           }
           .unit {
             font-size: 14px;
@@ -291,6 +371,7 @@ export default {
           // margin: 0 5px;
           font-size: 12px;
           color: #666;
+          cursor: pointer;
           &:first-child {
             margin-left: 0;
           }

+ 8 - 2
src/views/dataBigManage/components/qualityModule/index.vue

@@ -10,7 +10,10 @@
             :span="12"
             class="mb10"
           >
-            <div @click.stop="onDetial('线上问题', item)">
+            <div
+              :style="{ cursor: item.label == '新增问题' && 'pointer'}"
+              @click.stop="onDetial('线上问题', item)"
+            >
               <dataItem :item="item" />
             </div>
           </el-col>
@@ -38,7 +41,10 @@
         <div class="titleLevel3 mb10">线下质量</div>
         <el-row :gutter="10">
           <el-col v-for="(item, index) in mainData.offlineProblemList" :key="index" :span="12" class="mb10">
-            <div @click.stop="onDetial('线下质量', item)">
+            <div
+              :style="{ cursor: 'pointer'}"
+              @click.stop="onDetial('线下质量', item)"
+            >
               <dataItem :item="item" />
             </div>
           </el-col>

+ 15 - 15
src/views/dataBigManage/components/throughputModule/index.vue

@@ -12,7 +12,12 @@
           >{{ item }}</span>
         </div>
         <div class="list">
-          <div v-for="item in mainData.throughputList" :key="item.pointer" class="listItem flex-center-between">
+          <div
+            v-for="item in mainData.throughputList"
+            :key="item.pointer"
+            class="listItem flex-center-between"
+            @click.stop="$emit('checkDetialModal', item)"
+          >
             <!-- <div v-html="item.text" />
             <div v-html="item.pointer" /> -->
             <div>
@@ -48,13 +53,13 @@
         <div class="chartSearchbar inlineBetween mt15">
           <div style="width: 200px">
             <el-select
-              v-model="viewType"
+              v-model="requirementBacklogType"
               size="small"
               filterable
               style="width: 115px"
-              @change="$emit('search')"
+              @change="$emit('search', { requirementBacklogType })"
             >
-              <el-option v-for="(t, index) in typeOptionList" :key="index" :label="t.label" :value="t.value" />
+              <el-option v-for="(t, index) in requirementBacklogOptionList" :key="index" :label="t" :value="t" />
             </el-select>
           </div>
         </div>
@@ -98,7 +103,6 @@ export default {
   },
   data() {
     return {
-      typeOptionList: [],
       requirementDirectionChartOption: null,
       requirementBacklogRateChartOption: null,
       versionRequirementChartOption: null,
@@ -109,19 +113,16 @@ export default {
       verTab: '青桔端',
       wholeTabList: ['需求', '任务', '项目'],
       wholeTab: '需求',
-      wholeList: [{
-        text: '<div>新增需求<b>8</b>个</div>',
-        points: '环比:4.25%'
-      }, {
-        text: '<div>新增需求<b>8</b>个</div>',
-        points: '环比:4.25%'
-      }],
-      mainData: {}
+      requirementBacklogOptionList: ['研发积压', '测试积压', '产品积压'],
+      requirementBacklogType: '研发积压',
+      mainData: {},
+      needCheckDetialModalList: [
+        '新增需求', '上线需求', '延期需求', '紧急需求率', '新增任务', '上线任务', '延期任务', '新增项目', '上线项目'
+      ]
     }
   },
   watch: {
     datas() {
-      console.log(this.datas)
       this.resetBaseData()
     }
   },
@@ -140,7 +141,6 @@ export default {
       } = this.datas
       // 需求任务项目
       if (throughputList) {
-        console.log(throughputList)
         this.mainData = { ...this.mainData, throughputList }
       }
       if (requirementDirectionChart) {

+ 14 - 9
src/views/dataBigManage/index.vue

@@ -24,6 +24,7 @@
       <throughputModule
         :datas="mainData.throughput"
         @search="qualitySearch"
+        @checkDetialModal="checkDetialModal"
       />
       <header class="header mb25 mt40">
         <headTitle title="效率" />
@@ -89,7 +90,8 @@ export default {
         offlineProblemViweType: '按时间',
         onlineProblemViweType: '按时间',
         wholeTab: '需求',
-        verTab: '青桔端'
+        verTab: '青桔端',
+        requirementBacklogType: '研发积压'
       },
       mainData: {
         quality: {},
@@ -113,7 +115,6 @@ export default {
           data[g.key] = g.value
         }))
       }
-      console.log(data)
       this.params = {
         ...this.params,
         ...data,
@@ -123,24 +124,25 @@ export default {
       this.getList()
     },
     qualitySearch(d) {
-      console.log(d)
       this.params = {
         ...this.params,
         ...d
       }
-      if (Object.keys(d)[0] === 'onlineProblemViweType') {
+      const key = Object.keys(d)[0]
+      if (key === 'onlineProblemViweType') {
         this.getOnlineProblemChartData(this.params)
-      } else if (Object.keys(d)[0] === 'offlineProblemViweType') {
+      } else if (key === 'offlineProblemViweType') {
         this.getOfflineProblemChartData(this.params)
-      } else if (Object.keys(d)[0] === 'wholeTab') {
+      } else if (key === 'wholeTab') {
         this.getThroughputData(this.params)
-      } else if (Object.keys(d)[0] === 'verTab') {
+      } else if (key === 'verTab') {
         this.getVersionRequirementChartData(this.params)
+      } else if (key === 'requirementBacklogType') {
+        this.getRequirementBacklogRateChartData(this.params)
       }
     },
     // 弹窗数据
     checkDetialModal(data) {
-      console.log(data)
       this.openDrawer = true
       this.requireList = { ...data }
     },
@@ -251,7 +253,10 @@ export default {
     },
     // 需求积压率
     getRequirementBacklogRateChartData(params) {
-      getRequirementBacklogRateChartDataRequest(params).then(res => {
+      getRequirementBacklogRateChartDataRequest({
+        ...params,
+        extensionType: params.requirementBacklogType
+      }).then(res => {
         this.mainData = {
           ...this.mainData,
           throughput: { ...this.mainData.throughput, requirementBacklogRateChart: res.data }

+ 3 - 3
src/views/reportManagement/testPresentation.vue

@@ -669,7 +669,7 @@ export default {
 </style>
 <style lang="stylus">
 .el-tabs__nav-wrap::after {
-    background-color: #DCDFE6 !important;
-    height: 1px;
-    }
+  background-color: #DCDFE6 !important;
+  height: 1px;
+}
 </style>