Merge pull request 'master' (#391) from master into prod

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/391
This commit is contained in:
2024-06-24 03:09:53 +00:00
3 changed files with 140 additions and 107 deletions

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request.js' import request from '@/utils/request.js'
import axios from "axios";
import {getToken} from "@/utils/auth";
//项目立项 //项目立项
export const getApplyProcess = (projectId) => { export const getApplyProcess = (projectId) => {
return request({ return request({
@@ -158,3 +160,15 @@ export const searchUpdateLedgerData = (projectId) => {
method: "get" method: "get"
}); });
}; };
export const exportExcel = (data) => {
return axios.post(
`${import.meta.env.VITE_BASE_URL}/workflow/mosr/project/implementation/export`,
data, {
responseType: 'blob',
headers: {
Authorization: getToken()
}
}
);
};

View File

@@ -2,6 +2,7 @@
<baseTitle title="基础信息"></baseTitle> <baseTitle title="基础信息"></baseTitle>
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e"></fvForm> <fvForm :schema="schema" @getInstance="(e)=>baseForm = e"></fvForm>
<fvSearchForm :searchConfig="searchConfig" @search="search"></fvSearchForm> <fvSearchForm :searchConfig="searchConfig" @search="search"></fvSearchForm>
<el-button @click="exportExcelHandler">导出</el-button>
<fvTable ref="tableIns" :tableConfig="tableConfig" @headBtnClick="headBtnClick"> <fvTable ref="tableIns" :tableConfig="tableConfig" @headBtnClick="headBtnClick">
<template #empty> <template #empty>
<el-empty description="暂无数据"/> <el-empty description="暂无数据"/>
@@ -13,8 +14,7 @@
import fvSelect from '@/fvcomponents/fvSelect/index.vue' import fvSelect from '@/fvcomponents/fvSelect/index.vue'
import {toThousands} from '@/utils/changePrice.js' import {toThousands} from '@/utils/changePrice.js'
import {getBaseInfoApi} from "@/components/steps/api"; import {getBaseInfoApi} from "@/components/steps/api";
import {searchUpdateLedgerData} from "@/api/project-manage"; import {searchUpdateLedgerData,exportExcel} from "@/api/project-manage";
import {ElNotification} from "element-plus";
const router = useRouter() const router = useRouter()
const route = useRoute() const route = useRoute()
@@ -270,6 +270,25 @@ const handleUploadFee = () => {
}) })
} }
const exportExcelHandler = () => {
let data = {
projectId: 113
}
exportExcel(data).then(res => {
console.log(res)
let reg = /filename=([^&]+)/;
let contentDisposition = decodeURI(res.headers['content-disposition'])
let result = reg.exec(contentDisposition)
let fileName = result[1]
fileName = fileName.replace(/\"/g, '')
const blob = new Blob([res.data])
let a = document.createElement('a')
a.href = URL.createObjectURL(blob)
a.download = fileName
a.click()
})
}
const search = (val) => { const search = (val) => {
tableConfig.params = {...val, projectId: route.query.id} tableConfig.params = {...val, projectId: route.query.id}
tableIns.value.refresh() tableIns.value.refresh()