yumeng 1 yıl önce
ebeveyn
işleme
887a9251b0
1 değiştirilmiş dosya ile 30 ekleme ve 3 silme
  1. 30 3
      src/views/modules/Statistics/salesBudget.vue

+ 30 - 3
src/views/modules/Statistics/salesBudget.vue

@@ -89,6 +89,9 @@ th div {
                     <a-date-picker v-model="statDate" format="YYYY-MM-DD" @change="typeChange()"/>
 
                     <a-button type="primary" style="margin:10px" @click="searchData">搜索</a-button>
+                    <a-button @click="exportExcel" :loading="visibleLoading" style="margin-right: 15px">
+                        导 出
+                    </a-button>
                     <a-button
                         type="primary"
                         icon="reload"
@@ -203,8 +206,8 @@ th div {
 
         <a-modal title="设置预算及成本" v-model="visible" @ok="handleOkAdd" @cancel="handleCancel"
                  :confirmLoading="confirmLoading"
-                 :width="800" >
-            <a-form :form="form" >
+                 :width="800">
+            <a-form :form="form">
                 <a-form-item
                     label="设置预算"
                     :labelCol="labelCol" :wrapperCol="wrapperCol"
@@ -215,7 +218,8 @@ th div {
                 <div>
                     <div>
                         <a-form-item label="转化目标" :labelCol="labelCol" :wrapperCol="wrapperCol" showSearch>
-                            <a-select  showSearch :filterOption="filterOption"  @change="ocpxActionToutiaoChange($event)" @deselect="ocpextiondeselect"
+                            <a-select showSearch :filterOption="filterOption" @change="ocpxActionToutiaoChange($event)"
+                                      @deselect="ocpextiondeselect"
                                       v-decorator="[
                   'ocpxActionType',
                   { rules: [{ required: true, message: '请选择转化目标' }] },
@@ -258,6 +262,7 @@ import lifting from './components/lifting'
 import timeCheck from './components/timeCheck'
 import {mapGetters} from 'vuex'
 import pick from "_lodash.pick@4.4.0@lodash.pick";
+import {downFile} from "@api/manage";
 
 var length = 0
 var active = 1
@@ -868,6 +873,7 @@ export default {
     mixins: [JeecgListMixin],
     data: function () {
         return {
+            visibleLoading: false,
             submitForm: {
                 projectId: undefined,
                 budget: undefined,
@@ -948,6 +954,27 @@ export default {
     methods: {
         moment,
         ...mapGetters(['nickname', 'avatar', 'userInfo']),
+        exportExcel() {
+            this.visibleLoading = true
+            var params = {}
+            params.date = this.statDate
+            params.userId = this.userInfo().id
+            params.mediaId = this.mediaId
+            downFile(process.env.VUE_APP_BASE_STARE_URL + "/budget/exportReport", params).then((res) => {
+                this.visibleLoading = false
+                let blob = new Blob([res], {
+                    type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+                })
+                let downloadElement = document.createElement('a')
+                let href = window.URL.createObjectURL(blob) //创建下载的链接
+                downloadElement.href = href
+                downloadElement.download = `销售成本报表.xlsx` //下载后文件名
+                document.body.appendChild(downloadElement)
+                downloadElement.click() //点击下载
+                document.body.removeChild(downloadElement) //下载完成移除元素
+                window.URL.revokeObjectURL(href) //释放掉blob对象
+            })
+        },
         getDataReset() {
             this.ipagination.current = 1
             this.ipagination.pageSize = 10