Forráskód Böngészése

下载功能开发

user5 2 éve
szülő
commit
ad89a9b232
24 módosított fájl, 568 hozzáadás és 12 törlés
  1. 9 0
      src/api/reimbursementSys/accountant/reimbursementIsNoTicketService.js
  2. 9 0
      src/api/reimbursementSys/accountant/reimbursementSysService.js
  3. 9 0
      src/api/reimbursementSys/accountant/user/reimbursementUserService.js
  4. 9 0
      src/api/reimbursementSys/assess/reimbursementIsNoTicketService.js
  5. 9 0
      src/api/reimbursementSys/assess/reimbursementSysService.js
  6. 9 0
      src/api/reimbursementSys/assess/user/reimbursementUserService.js
  7. 9 0
      src/api/reimbursementSys/project/reimbursementIsNoTicketService.js
  8. 9 0
      src/api/reimbursementSys/project/reimbursementSysService.js
  9. 9 0
      src/api/reimbursementSys/project/user/reimbursementUserService.js
  10. 9 0
      src/api/reimbursementSys/reimbursementSysService.js
  11. 9 0
      src/api/reimbursementSys/user/reimbursementUserService.js
  12. 9 0
      src/api/reimbursementSys/wuHanReimbursementSysService.js
  13. 33 1
      src/views/modules/reimbursementSys/accountant/reimbursementIsNoTicketList.vue
  14. 33 1
      src/views/modules/reimbursementSys/accountant/reimbursementList.vue
  15. 49 1
      src/views/modules/reimbursementSys/accountant/user/reimbursementUserList.vue
  16. 33 1
      src/views/modules/reimbursementSys/assess/reimbursementIsNoTicketList.vue
  17. 33 1
      src/views/modules/reimbursementSys/assess/reimbursementList.vue
  18. 49 1
      src/views/modules/reimbursementSys/assess/user/reimbursementUserList.vue
  19. 33 1
      src/views/modules/reimbursementSys/project/reimbursementIsNoTicketList.vue
  20. 33 1
      src/views/modules/reimbursementSys/project/reimbursementList.vue
  21. 49 1
      src/views/modules/reimbursementSys/project/user/reimbursementUserList.vue
  22. 33 1
      src/views/modules/reimbursementSys/reimbursementList.vue
  23. 49 1
      src/views/modules/reimbursementSys/user/reimbursementUserList.vue
  24. 33 1
      src/views/modules/reimbursementSys/wuHanReimbursementList.vue

+ 9 - 0
src/api/reimbursementSys/accountant/reimbursementIsNoTicketService.js

@@ -148,4 +148,13 @@ export default class reimbursementIsNoTicketService {
       method: 'post'
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/accountant/reimbursementBusinessTwo/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 9 - 0
src/api/reimbursementSys/accountant/reimbursementSysService.js

@@ -106,4 +106,13 @@ export default class reimbursementSys {
       }
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/accountant/reimbursement/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 9 - 0
src/api/reimbursementSys/accountant/user/reimbursementUserService.js

@@ -70,4 +70,13 @@ export default class reimbursementSys {
       method: 'post'
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/accountant/reimbursementUser/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 9 - 0
src/api/reimbursementSys/assess/reimbursementIsNoTicketService.js

@@ -148,4 +148,13 @@ export default class reimbursementIsNoTicketService {
       method: 'post'
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/assess/reimbursementBusinessTwo/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 9 - 0
src/api/reimbursementSys/assess/reimbursementSysService.js

@@ -106,4 +106,13 @@ export default class reimbursementSys {
       }
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/assess/reimbursement/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 9 - 0
src/api/reimbursementSys/assess/user/reimbursementUserService.js

@@ -70,4 +70,13 @@ export default class reimbursementSys {
       method: 'post'
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/assess/reimbursementUser/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 9 - 0
src/api/reimbursementSys/project/reimbursementIsNoTicketService.js

@@ -148,4 +148,13 @@ export default class reimbursementIsNoTicketService {
       method: 'post'
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/project/reimbursementBusinessTwo/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 9 - 0
src/api/reimbursementSys/project/reimbursementSysService.js

@@ -106,4 +106,13 @@ export default class reimbursementSys {
       }
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/project/reimbursement/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 9 - 0
src/api/reimbursementSys/project/user/reimbursementUserService.js

@@ -70,4 +70,13 @@ export default class reimbursementSys {
       method: 'post'
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/project/reimbursementUser/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 9 - 0
src/api/reimbursementSys/reimbursementSysService.js

@@ -88,4 +88,13 @@ export default class reimbursementSys {
       params: {id: id}
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/reimbursement/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 9 - 0
src/api/reimbursementSys/user/reimbursementUserService.js

@@ -70,4 +70,13 @@ export default class reimbursementSys {
       method: 'post'
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/reimbursementUser/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 9 - 0
src/api/reimbursementSys/wuHanReimbursementSysService.js

@@ -88,4 +88,13 @@ export default class reimbursementSys {
       params: {id: id}
     })
   }
+
+  exportExcel (params) {
+    return request({
+      url: '/wuHanReimbursement/export',
+      method: 'get',
+      params: params,
+      responseType: 'blob'
+    })
+  }
 }

+ 33 - 1
src/views/modules/reimbursementSys/accountant/reimbursementIsNoTicketList.vue

@@ -68,7 +68,14 @@
           highlight-hover-row
           :menu-config="{}"
           :print-config="{}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `兴光会计无票报销数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '兴光会计无票报销数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           :sort-config="{remote:true}"
           :data="dataList"
           :checkbox-config="{}">
@@ -324,6 +331,31 @@
             }
           }
         }
+      },
+      // 自定义服务端导出
+      exportMethod ({ options }) {
+        // 传给服务端的参数
+        const params = {
+          'current': this.tablePage.currentPage,
+          'size': this.tablePage.pageSize,
+          'orders': this.tablePage.orders,
+          ...this.searchForm,
+          filename: options.filename,
+          sheetName: options.sheetName,
+          isHeader: options.isHeader,
+          original: options.original,
+          mode: options.mode,
+          selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+          exportFields: options.columns.map(column => column.property)
+        }
+        return this.reimbursementSys.exportExcel(params).then((res) => {
+          // 将二进制流文件写入excel表,以下为重要步骤
+          this.$utils.downloadExcel(res.data, options.filename)
+        }).catch(function (err) {
+          if (err.response) {
+            console.log(err.response)
+          }
+        })
       }
     }
 

+ 33 - 1
src/views/modules/reimbursementSys/accountant/reimbursementList.vue

@@ -99,7 +99,14 @@
           show-overflow
           highlight-hover-row
           :print-config="{}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `兴光会计报销数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '兴光会计报销数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           :tree-config="{expandAll: true}"
           :loading="loading"
           :checkbox-config="{labelField: ''}"
@@ -455,6 +462,31 @@ export default {
         this.refreshList()
       })
     },
+    // 自定义服务端导出
+    exportMethod ({ options }) {
+      // 传给服务端的参数
+      const params = {
+        'current': this.tablePage.currentPage,
+        'size': this.tablePage.pageSize,
+        'orders': this.tablePage.orders,
+        ...this.searchForm,
+        filename: options.filename,
+        sheetName: options.sheetName,
+        isHeader: options.isHeader,
+        original: options.original,
+        mode: options.mode,
+        selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+        exportFields: options.columns.map(column => column.property)
+      }
+      return this.reimbursementSys.exportExcel(params).then((res) => {
+        // 将二进制流文件写入excel表,以下为重要步骤
+        this.$utils.downloadExcel(res.data, options.filename)
+      }).catch(function (err) {
+        if (err.response) {
+          console.log(err.response)
+        }
+      })
+    },
     selectBatchReimbursement (invoices) {
       let invoiceNumbers = invoices.map(invoice => { return invoice.id }).join(',')
       this.loading = true

+ 49 - 1
src/views/modules/reimbursementSys/accountant/user/reimbursementUserList.vue

@@ -18,6 +18,21 @@
           @getValue="(value) => {searchForm.userId=value}"/>
       </el-form-item>
 
+      <el-form-item prop="officeId" :rules=" [{trigger: 'blur'}]" label="部门">
+        <SelectUserTree
+          ref="companyTree"
+          :props="{
+                  value: 'id',             // ID字段名
+                  label: 'name',         // 显示名称
+                  children: 'children'    // 子级字段名
+                }"
+          :url="`/sys/user/treeUserDataByOfficeList?type=2&officeName=兴光会计`"
+          :value="searchForm.officeId"
+          :clearable="true"
+          :accordion="true"
+          @getValue="(value) => {searchForm.officeId=value}"/>
+      </el-form-item>
+
       <el-form-item label="年份" prop="year":rules="[{trigger:'blur'}]">
         <el-date-picker
           v-model="searchForm.year"
@@ -60,7 +75,14 @@
                     importMethod: importMethod,
                     types: ['xls', 'xlsx'],
                     remote: true}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `兴光会计报销人员信息数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '兴光会计报销人员信息数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           @sort-change="sortChangeHandle"
           :sort-config="{remote:true}"
           :data="dataList"
@@ -119,6 +141,7 @@ export default {
       dataList: [],
       searchForm: {
         year: '',
+        officeId: '',
         userId: ''
       },
       tablePage: {
@@ -255,6 +278,31 @@ export default {
         })
         this.refreshList()
       })
+    },
+    // 自定义服务端导出
+    exportMethod ({ options }) {
+      // 传给服务端的参数
+      const params = {
+        'current': this.tablePage.currentPage,
+        'size': this.tablePage.pageSize,
+        'orders': this.tablePage.orders,
+        ...this.searchForm,
+        filename: options.filename,
+        sheetName: options.sheetName,
+        isHeader: options.isHeader,
+        original: options.original,
+        mode: options.mode,
+        selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+        exportFields: options.columns.map(column => column.property)
+      }
+      return this.reimbursementUser.exportExcel(params).then((res) => {
+        // 将二进制流文件写入excel表,以下为重要步骤
+        this.$utils.downloadExcel(res.data, options.filename)
+      }).catch(function (err) {
+        if (err.response) {
+          console.log(err.response)
+        }
+      })
     }
   }
 

+ 33 - 1
src/views/modules/reimbursementSys/assess/reimbursementIsNoTicketList.vue

@@ -68,7 +68,14 @@
           highlight-hover-row
           :menu-config="{}"
           :print-config="{}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `兴光评估无票报销数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '兴光评估无票报销数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           :sort-config="{remote:true}"
           :data="dataList"
           :checkbox-config="{}">
@@ -324,6 +331,31 @@
             }
           }
         }
+      },
+      // 自定义服务端导出
+      exportMethod ({ options }) {
+        // 传给服务端的参数
+        const params = {
+          'current': this.tablePage.currentPage,
+          'size': this.tablePage.pageSize,
+          'orders': this.tablePage.orders,
+          ...this.searchForm,
+          filename: options.filename,
+          sheetName: options.sheetName,
+          isHeader: options.isHeader,
+          original: options.original,
+          mode: options.mode,
+          selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+          exportFields: options.columns.map(column => column.property)
+        }
+        return this.reimbursementSys.exportExcel(params).then((res) => {
+          // 将二进制流文件写入excel表,以下为重要步骤
+          this.$utils.downloadExcel(res.data, options.filename)
+        }).catch(function (err) {
+          if (err.response) {
+            console.log(err.response)
+          }
+        })
       }
     }
 

+ 33 - 1
src/views/modules/reimbursementSys/assess/reimbursementList.vue

@@ -99,7 +99,14 @@
           show-overflow
           highlight-hover-row
           :print-config="{}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `兴光评估报销数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '兴光评估报销数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           :tree-config="{expandAll: true}"
           :loading="loading"
           :checkbox-config="{labelField: ''}"
@@ -455,6 +462,31 @@ export default {
         this.refreshList()
       })
     },
+    // 自定义服务端导出
+    exportMethod ({ options }) {
+      // 传给服务端的参数
+      const params = {
+        'current': this.tablePage.currentPage,
+        'size': this.tablePage.pageSize,
+        'orders': this.tablePage.orders,
+        ...this.searchForm,
+        filename: options.filename,
+        sheetName: options.sheetName,
+        isHeader: options.isHeader,
+        original: options.original,
+        mode: options.mode,
+        selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+        exportFields: options.columns.map(column => column.property)
+      }
+      return this.reimbursementSys.exportExcel(params).then((res) => {
+        // 将二进制流文件写入excel表,以下为重要步骤
+        this.$utils.downloadExcel(res.data, options.filename)
+      }).catch(function (err) {
+        if (err.response) {
+          console.log(err.response)
+        }
+      })
+    },
     selectBatchReimbursement (invoices) {
       let invoiceNumbers = invoices.map(invoice => { return invoice.id }).join(',')
       this.loading = true

+ 49 - 1
src/views/modules/reimbursementSys/assess/user/reimbursementUserList.vue

@@ -18,6 +18,21 @@
           @getValue="(value) => {searchForm.userId=value}"/>
       </el-form-item>
 
+      <el-form-item prop="officeId" :rules=" [{trigger: 'blur'}]" label="部门">
+        <SelectUserTree
+          ref="companyTree"
+          :props="{
+                  value: 'id',             // ID字段名
+                  label: 'name',         // 显示名称
+                  children: 'children'    // 子级字段名
+                }"
+          :url="`/sys/user/treeUserDataByOfficeList?type=2&officeName=兴光评估`"
+          :value="searchForm.officeId"
+          :clearable="true"
+          :accordion="true"
+          @getValue="(value) => {searchForm.officeId=value}"/>
+      </el-form-item>
+
       <el-form-item label="年份" prop="year":rules="[{trigger:'blur'}]">
         <el-date-picker
           v-model="searchForm.year"
@@ -60,7 +75,14 @@
                     importMethod: importMethod,
                     types: ['xls', 'xlsx'],
                     remote: true}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `兴光评估报销人员信息数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '兴光评估报销人员信息数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           @sort-change="sortChangeHandle"
           :sort-config="{remote:true}"
           :data="dataList"
@@ -119,6 +141,7 @@ export default {
       dataList: [],
       searchForm: {
         year: '',
+        officeId: '',
         userId: ''
       },
       tablePage: {
@@ -255,6 +278,31 @@ export default {
         })
         this.refreshList()
       })
+    },
+    // 自定义服务端导出
+    exportMethod ({ options }) {
+      // 传给服务端的参数
+      const params = {
+        'current': this.tablePage.currentPage,
+        'size': this.tablePage.pageSize,
+        'orders': this.tablePage.orders,
+        ...this.searchForm,
+        filename: options.filename,
+        sheetName: options.sheetName,
+        isHeader: options.isHeader,
+        original: options.original,
+        mode: options.mode,
+        selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+        exportFields: options.columns.map(column => column.property)
+      }
+      return this.reimbursementUser.exportExcel(params).then((res) => {
+        // 将二进制流文件写入excel表,以下为重要步骤
+        this.$utils.downloadExcel(res.data, options.filename)
+      }).catch(function (err) {
+        if (err.response) {
+          console.log(err.response)
+        }
+      })
     }
   }
 

+ 33 - 1
src/views/modules/reimbursementSys/project/reimbursementIsNoTicketList.vue

@@ -68,7 +68,14 @@
           highlight-hover-row
           :menu-config="{}"
           :print-config="{}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `兴光项目无票报销数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '兴光项目无票报销数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           :sort-config="{remote:true}"
           :data="dataList"
           :checkbox-config="{}">
@@ -324,6 +331,31 @@
             }
           }
         }
+      },
+      // 自定义服务端导出
+      exportMethod ({ options }) {
+        // 传给服务端的参数
+        const params = {
+          'current': this.tablePage.currentPage,
+          'size': this.tablePage.pageSize,
+          'orders': this.tablePage.orders,
+          ...this.searchForm,
+          filename: options.filename,
+          sheetName: options.sheetName,
+          isHeader: options.isHeader,
+          original: options.original,
+          mode: options.mode,
+          selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+          exportFields: options.columns.map(column => column.property)
+        }
+        return this.reimbursementSys.exportExcel(params).then((res) => {
+          // 将二进制流文件写入excel表,以下为重要步骤
+          this.$utils.downloadExcel(res.data, options.filename)
+        }).catch(function (err) {
+          if (err.response) {
+            console.log(err.response)
+          }
+        })
       }
     }
 

+ 33 - 1
src/views/modules/reimbursementSys/project/reimbursementList.vue

@@ -99,7 +99,14 @@
           show-overflow
           highlight-hover-row
           :print-config="{}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `兴光项目报销数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '兴光项目报销数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           :tree-config="{expandAll: true}"
           :loading="loading"
           :checkbox-config="{labelField: ''}"
@@ -455,6 +462,31 @@ export default {
         this.refreshList()
       })
     },
+    // 自定义服务端导出
+    exportMethod ({ options }) {
+      // 传给服务端的参数
+      const params = {
+        'current': this.tablePage.currentPage,
+        'size': this.tablePage.pageSize,
+        'orders': this.tablePage.orders,
+        ...this.searchForm,
+        filename: options.filename,
+        sheetName: options.sheetName,
+        isHeader: options.isHeader,
+        original: options.original,
+        mode: options.mode,
+        selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+        exportFields: options.columns.map(column => column.property)
+      }
+      return this.reimbursementSys.exportExcel(params).then((res) => {
+        // 将二进制流文件写入excel表,以下为重要步骤
+        this.$utils.downloadExcel(res.data, options.filename)
+      }).catch(function (err) {
+        if (err.response) {
+          console.log(err.response)
+        }
+      })
+    },
     selectBatchReimbursement (invoices) {
       let invoiceNumbers = invoices.map(invoice => { return invoice.id }).join(',')
       this.loading = true

+ 49 - 1
src/views/modules/reimbursementSys/project/user/reimbursementUserList.vue

@@ -18,6 +18,21 @@
           @getValue="(value) => {searchForm.userId=value}"/>
       </el-form-item>
 
+      <el-form-item prop="officeId" :rules=" [{trigger: 'blur'}]" label="部门">
+        <SelectUserTree
+          ref="companyTree"
+          :props="{
+                  value: 'id',             // ID字段名
+                  label: 'name',         // 显示名称
+                  children: 'children'    // 子级字段名
+                }"
+          :url="`/sys/user/treeUserDataByOfficeList?type=2&officeName=兴光项目`"
+          :value="searchForm.officeId"
+          :clearable="true"
+          :accordion="true"
+          @getValue="(value) => {searchForm.officeId=value}"/>
+      </el-form-item>
+
       <el-form-item label="年份" prop="year":rules="[{trigger:'blur'}]">
         <el-date-picker
           v-model="searchForm.year"
@@ -60,7 +75,14 @@
                     importMethod: importMethod,
                     types: ['xls', 'xlsx'],
                     remote: true}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `兴光项目报销人员信息数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '兴光项目报销人员信息数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           @sort-change="sortChangeHandle"
           :sort-config="{remote:true}"
           :data="dataList"
@@ -119,6 +141,7 @@ export default {
       dataList: [],
       searchForm: {
         year: '',
+        officeId: '',
         userId: ''
       },
       tablePage: {
@@ -255,6 +278,31 @@ export default {
         })
         this.refreshList()
       })
+    },
+    // 自定义服务端导出
+    exportMethod ({ options }) {
+      // 传给服务端的参数
+      const params = {
+        'current': this.tablePage.currentPage,
+        'size': this.tablePage.pageSize,
+        'orders': this.tablePage.orders,
+        ...this.searchForm,
+        filename: options.filename,
+        sheetName: options.sheetName,
+        isHeader: options.isHeader,
+        original: options.original,
+        mode: options.mode,
+        selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+        exportFields: options.columns.map(column => column.property)
+      }
+      return this.reimbursementUser.exportExcel(params).then((res) => {
+        // 将二进制流文件写入excel表,以下为重要步骤
+        this.$utils.downloadExcel(res.data, options.filename)
+      }).catch(function (err) {
+        if (err.response) {
+          console.log(err.response)
+        }
+      })
     }
   }
 

+ 33 - 1
src/views/modules/reimbursementSys/reimbursementList.vue

@@ -95,7 +95,14 @@
           show-overflow
           highlight-hover-row
           :print-config="{}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `分所报销数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '分所报销数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           :tree-config="{expandAll: true}"
           :loading="loading"
           :checkbox-config="{labelField: ''}"
@@ -438,6 +445,31 @@ export default {
         })
         this.refreshList()
       })
+    },
+    // 自定义服务端导出
+    exportMethod ({ options }) {
+      // 传给服务端的参数
+      const params = {
+        'current': this.tablePage.currentPage,
+        'size': this.tablePage.pageSize,
+        'orders': this.tablePage.orders,
+        ...this.searchForm,
+        filename: options.filename,
+        sheetName: options.sheetName,
+        isHeader: options.isHeader,
+        original: options.original,
+        mode: options.mode,
+        selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+        exportFields: options.columns.map(column => column.property)
+      }
+      return this.reimbursementSys.exportExcel(params).then((res) => {
+        // 将二进制流文件写入excel表,以下为重要步骤
+        this.$utils.downloadExcel(res.data, options.filename)
+      }).catch(function (err) {
+        if (err.response) {
+          console.log(err.response)
+        }
+      })
     }
   }
 

+ 49 - 1
src/views/modules/reimbursementSys/user/reimbursementUserList.vue

@@ -18,6 +18,21 @@
           @getValue="(value) => {searchForm.userId=value}"/>
       </el-form-item>
 
+      <el-form-item prop="officeId" :rules=" [{trigger: 'blur'}]" label="部门">
+        <SelectUserTree
+          ref="companyTree"
+          :props="{
+                  value: 'id',             // ID字段名
+                  label: 'name',         // 显示名称
+                  children: 'children'    // 子级字段名
+                }"
+          :url="`/sys/user/treeUserDataByOfficeList?type=2&officeName=中审众环`"
+          :value="searchForm.officeId"
+          :clearable="true"
+          :accordion="true"
+          @getValue="(value) => {searchForm.officeId=value}"/>
+      </el-form-item>
+
       <el-form-item label="年份" prop="year":rules="[{trigger:'blur'}]">
         <el-date-picker
           v-model="searchForm.year"
@@ -72,7 +87,14 @@
                     importMethod: importMethod,
                     types: ['xls', 'xlsx'],
                     remote: true}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `中审众环报销人员信息数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '中审众环报销人员信息数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           @sort-change="sortChangeHandle"
           :sort-config="{remote:true}"
           :data="dataList"
@@ -134,6 +156,7 @@ export default {
       searchForm: {
         year: '',
         userId: '',
+        officeId: '',
         reimbursementAddress: ''
       },
       tablePage: {
@@ -277,6 +300,31 @@ export default {
         })
         this.refreshList()
       })
+    },
+    // 自定义服务端导出
+    exportMethod ({ options }) {
+      // 传给服务端的参数
+      const params = {
+        'current': this.tablePage.currentPage,
+        'size': this.tablePage.pageSize,
+        'orders': this.tablePage.orders,
+        ...this.searchForm,
+        filename: options.filename,
+        sheetName: options.sheetName,
+        isHeader: options.isHeader,
+        original: options.original,
+        mode: options.mode,
+        selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+        exportFields: options.columns.map(column => column.property)
+      }
+      return this.reimbursementUser.exportExcel(params).then((res) => {
+        // 将二进制流文件写入excel表,以下为重要步骤
+        this.$utils.downloadExcel(res.data, options.filename)
+      }).catch(function (err) {
+        if (err.response) {
+          console.log(err.response)
+        }
+      })
     }
   }
 

+ 33 - 1
src/views/modules/reimbursementSys/wuHanReimbursementList.vue

@@ -95,7 +95,14 @@
           show-overflow
           highlight-hover-row
           :print-config="{}"
-          :export-config="{}"
+          :export-config="{
+                    remote: true,
+                    filename: `总所报销数据${moment(new Date()).format('YYYY-MM-DD')}`,
+                    sheetName: '总所报销数据',
+                    exportMethod: exportMethod,
+                    types: ['xlsx'],
+                    modes: ['current', 'selected', 'all']
+                  }"
           :tree-config="{expandAll: true}"
           :loading="loading"
           :checkbox-config="{labelField: ''}"
@@ -435,6 +442,31 @@ export default {
           this.refreshList()
         })
       })
+    },
+    // 自定义服务端导出
+    exportMethod ({ options }) {
+      // 传给服务端的参数
+      const params = {
+        'current': this.tablePage.currentPage,
+        'size': this.tablePage.pageSize,
+        'orders': this.tablePage.orders,
+        ...this.searchForm,
+        filename: options.filename,
+        sheetName: options.sheetName,
+        isHeader: options.isHeader,
+        original: options.original,
+        mode: options.mode,
+        selectIds: options.mode === 'selected' ? options.data.map(item => item.id) : [],
+        exportFields: options.columns.map(column => column.property)
+      }
+      return this.reimbursementSys.exportExcel(params).then((res) => {
+        // 将二进制流文件写入excel表,以下为重要步骤
+        this.$utils.downloadExcel(res.data, options.filename)
+      }).catch(function (err) {
+        if (err.response) {
+          console.log(err.response)
+        }
+      })
     }
   }