Răsfoiți Sursa

数据大盘:导出

洪海涛 4 ani în urmă
părinte
comite
f68d534f65

+ 11 - 0
src/api/dataMarket.js

@@ -202,3 +202,14 @@ export function getOdinJobList(data) {
     data
   })
 }
+
+// 导出
+export function dataMarketDownload(data) {
+  return request({
+    url: TeamManagement + `/dataMarket/efficiency/export`,
+    method: 'post',
+    timeout: '1000000',
+    data,
+    responseType: 'blob' // 表明返回服务器返回的数据类型
+  })
+}

+ 1 - 1
src/apiConfig/requestIP.js

@@ -1,4 +1,4 @@
-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

+ 10 - 0
src/views/dataBigManage/components/drawerModal/drawerModalData.js

@@ -786,3 +786,13 @@ export const taskTips = [
   }
 ]
 export const priorityColors = ['#F56C6C', '#FF8952', '#F5E300', '#7ED321', '#61D3B8', '#69B3FF', '#BDBDBD']
+
+// 是否显示导出
+export const exportTableList = {
+  isShow: [
+    '需求平均交付周期',
+    '平均需求使用人力',
+    '平均任务使用人力',
+    '任务平均交付周期'
+  ]
+}

+ 21 - 5
src/views/dataBigManage/components/drawerModal/index.vue

@@ -105,10 +105,11 @@
     </dmTable>
     <!-- 下拉 -->
     <div class="footer-laout" @click.stop>
-      <div style="line-height: 60px;">
-<!--        <el-button type="primary" size="mini" @click="exportTable">导 出</el-button>-->
+      <div v-if="exportTableList.isShow.indexOf(drawerData.label) > -1" style="margin-top: 10px;">
+        <el-button type="primary" size="mini" @click="exportTable">导出</el-button>
       </div>
       <el-pagination
+        style="line-height: 60px;"
         :current-page.sync="paging.curIndex"
         :page-size="paging.pageSize"
         :pager-count="5"
@@ -130,10 +131,12 @@ import { getReportList } from '@/api/reportTemplate'
 import dmTable from '@/components/baseTable/table'
 // import timeline from '@/components/timeline/index'
 import timeline from './components/timeline'
-import { columns, timelineList } from './drawerModalData'
+import { columns, timelineList, exportTableList } from './drawerModalData'
 import { EncryptId } from '@/utils/crypto-js'
 import Clickoutside from 'element-ui/src/utils/clickoutside'
 import { requirementQueryRequirementInfoList, taskList } from '@/api/projectIndex'
+
+Object.freeze(exportTableList)
 import {
   // 质量
   getRequireAvgData, // 需求平均交付周期
@@ -147,7 +150,8 @@ import {
   getStarFlowerList, // 线上问题:半浮层 列表
   getProjectList, // 需求任务项目列表: 半浮层
   getOdinJobList, // 获取上线过程列表
-  dataMarketQualityGetImproveList // 线上问题-改进项半浮层
+  dataMarketQualityGetImproveList, // 线上问题-改进项半浮层
+  dataMarketDownload // 导出
 } from '@/api/dataMarket'
 
 export default {
@@ -191,6 +195,7 @@ export default {
       column: [],
       ids: [],
       label: '',
+      exportTableList,
       activeLabel: '',
       drawerBox: '',
       subTitle: '',
@@ -234,7 +239,7 @@ export default {
       // console.log(this.drawerData, 210)
       this.headerTitle = this.drawerData.headerTitle
       this.title = this.headerTitle.search(/质量|效率/) > -1 ? this.drawerData.label || '' : this.drawerData.activeLabel
-      console.log(this.headerTitle, this.title)
+      console.log(this.drawerData.label)
       if (this.headerTitle && this.title) {
         // console.log(this.drawerData)
         this.pagingInit()
@@ -478,6 +483,17 @@ export default {
     },
     // 导出
     exportTable() {
+      dataMarketDownload({
+        ids: this.ids,
+        title: this.drawerData.label
+      }).then(res => {
+        const aLink = document.createElement('a')
+        const blob = new Blob([res], { type: 'application/vnd.ms-excel' })
+        aLink.href = URL.createObjectURL(blob)
+        aLink.download = this.drawerData.label + '.xlsx'
+        aLink.style.display = 'none'
+        aLink.click()
+      })
     },
     // 格式化时间
     dateFomatter(date) {