提交 409c9f9a authored 作者: 姚鑫国's avatar 姚鑫国

批量下载word通用接口

上级 a516288c
......@@ -27,7 +27,7 @@ export function getSpanJson({
data,
eliminateRow = [],
eliminateCol = []
}) {
}) {
try {
let dataList = deepCopy(data);
......@@ -266,7 +266,7 @@ export function getColumnsSqlKeyRealize({
fileName = '导出文件',
ext = 'xlsx',
allValues = JSON.stringify({})
}) {
}) {
columns = deepCopy(columns);
let {
......@@ -283,7 +283,7 @@ export function getColumnsSqlKeyRealize({
merges: columnsMerges,
sqlKey: sqlKey, //sql编码
sqlKeyHeader: columnsKey, //sql对应key对应列
allValues:allValues
allValues: allValues
},
],
styles: {
......@@ -361,7 +361,7 @@ export function getColumnsDataRealize({
ext = 'xlsx',
eliminateRow = [],
eliminateCol = [],
}) {
}) {
columns = deepCopy(columns);
data = deepCopy(data);
let {
......@@ -545,7 +545,7 @@ export function getWord({
allValues = {},
listConfig = {},
ext = 'docx',
}) {
}) {
try {
let getFileData = giveFilePostDataInfoForTrue(
{
......@@ -573,21 +573,6 @@ export function getWord({
console.table(err);
}
//可更新的
function setObjectKey(data) {
return (
Object.keys(data)
//.filter((key) => data[key] !== null && data[key] !== undefined)
.reduce(
(acc, key) => ({
...acc,
['${' + key + '}']: data[key] === null ? '' : data[key],
}),
{},
)
);
}
}
......@@ -608,7 +593,7 @@ export function getFileAndShow({
allValues = {},
listConfig = {},
ext = 'docx',
}) {
}) {
try {
let getFileData = giveFilePostDataInfoForTrue(
{
......@@ -636,12 +621,86 @@ export function getFileAndShow({
console.table(err);
}
//可更新的
}
/**
* 表头和数据导出(合并表格)
* templatePath : word文档模板地址
* params : word文档的替换参数
* title : 导出文件名
* allValues : sql参数
* listConfig : 导出列表配置
* ext : 导出后缀 目前xecl、dbf,docx,pdf
* 返回值
* */
export function getListWord({
templatePath,
paramsList = [],
title,
sonTitleKey,
allValuesKey = [],
listConfig = {},
ext = 'zip',
sonExt = 'pdf',
}) {
try {
let content = [];
paramsList.forEach((v, i) => {
content.push({
params: {
...setObjectKey(v),
...listConfig,
},
allValues: {
...getObjectsKey(allValuesKey, v)
},
title: (v[sonTitleKey] || "未设置名称") + `.${sonExt}`
});
});
let getFileData = giveFilePostDataInfoForTrue(
{
templatePath: templatePath,
content: JSON.stringify(content),
zipTitle: `${title}.${ext}`,
},
apiUrl + `/DataColumnApi/batchExportWord`,
);
let token = getToken();
downloadFile(
getFileData.url,
{
...getFileData.datas,
token: token,
},
title,
ext,
);
} catch (err) {
console.table(err);
}
function getObjectsKey(listKey = [], params = {}) {
return (
listKey
.filter((key) => Object.keys(params).indexOf(key)
.reduce(
(acc, key) => ({
...acc,
[key]: params[key] === null ? '' : params[key],
}),
{},
))
)
}
}
function setObjectKey(data) {
function setObjectKey(data) {
return (
Object.keys(data)
//.filter((key) => data[key] !== null && data[key] !== undefined)
.reduce(
(acc, key) => ({
...acc,
......@@ -650,10 +709,8 @@ export function getFileAndShow({
{},
)
);
}
}
// 下载附件FormdataWrapper
function isObject(value) {
return value === Object(value);
......@@ -769,7 +826,7 @@ export function downloadFileAndShowModal(url, params, fileName = '导出文件',
type='application/pdf'
internalinstanceid='3'
title={filename}/>
title={filename} />
</div>,
okText: '确定',
onCancel: () => {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论