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

批量下载word通用接口

上级 a516288c
...@@ -27,7 +27,7 @@ export function getSpanJson({ ...@@ -27,7 +27,7 @@ export function getSpanJson({
data, data,
eliminateRow = [], eliminateRow = [],
eliminateCol = [] eliminateCol = []
}) { }) {
try { try {
let dataList = deepCopy(data); let dataList = deepCopy(data);
...@@ -266,7 +266,7 @@ export function getColumnsSqlKeyRealize({ ...@@ -266,7 +266,7 @@ export function getColumnsSqlKeyRealize({
fileName = '导出文件', fileName = '导出文件',
ext = 'xlsx', ext = 'xlsx',
allValues = JSON.stringify({}) allValues = JSON.stringify({})
}) { }) {
columns = deepCopy(columns); columns = deepCopy(columns);
let { let {
...@@ -283,7 +283,7 @@ export function getColumnsSqlKeyRealize({ ...@@ -283,7 +283,7 @@ export function getColumnsSqlKeyRealize({
merges: columnsMerges, merges: columnsMerges,
sqlKey: sqlKey, //sql编码 sqlKey: sqlKey, //sql编码
sqlKeyHeader: columnsKey, //sql对应key对应列 sqlKeyHeader: columnsKey, //sql对应key对应列
allValues:allValues allValues: allValues
}, },
], ],
styles: { styles: {
...@@ -361,7 +361,7 @@ export function getColumnsDataRealize({ ...@@ -361,7 +361,7 @@ export function getColumnsDataRealize({
ext = 'xlsx', ext = 'xlsx',
eliminateRow = [], eliminateRow = [],
eliminateCol = [], eliminateCol = [],
}) { }) {
columns = deepCopy(columns); columns = deepCopy(columns);
data = deepCopy(data); data = deepCopy(data);
let { let {
...@@ -545,7 +545,7 @@ export function getWord({ ...@@ -545,7 +545,7 @@ export function getWord({
allValues = {}, allValues = {},
listConfig = {}, listConfig = {},
ext = 'docx', ext = 'docx',
}) { }) {
try { try {
let getFileData = giveFilePostDataInfoForTrue( let getFileData = giveFilePostDataInfoForTrue(
{ {
...@@ -573,21 +573,6 @@ export function getWord({ ...@@ -573,21 +573,6 @@ export function getWord({
console.table(err); 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({ ...@@ -608,7 +593,7 @@ export function getFileAndShow({
allValues = {}, allValues = {},
listConfig = {}, listConfig = {},
ext = 'docx', ext = 'docx',
}) { }) {
try { try {
let getFileData = giveFilePostDataInfoForTrue( let getFileData = giveFilePostDataInfoForTrue(
{ {
...@@ -636,12 +621,86 @@ export function getFileAndShow({ ...@@ -636,12 +621,86 @@ export function getFileAndShow({
console.table(err); 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 ( return (
Object.keys(data) Object.keys(data)
//.filter((key) => data[key] !== null && data[key] !== undefined)
.reduce( .reduce(
(acc, key) => ({ (acc, key) => ({
...acc, ...acc,
...@@ -650,10 +709,8 @@ export function getFileAndShow({ ...@@ -650,10 +709,8 @@ export function getFileAndShow({
{}, {},
) )
); );
}
} }
// 下载附件FormdataWrapper // 下载附件FormdataWrapper
function isObject(value) { function isObject(value) {
return value === Object(value); return value === Object(value);
...@@ -769,7 +826,7 @@ export function downloadFileAndShowModal(url, params, fileName = '导出文件', ...@@ -769,7 +826,7 @@ export function downloadFileAndShowModal(url, params, fileName = '导出文件',
type='application/pdf' type='application/pdf'
internalinstanceid='3' internalinstanceid='3'
title={filename}/> title={filename} />
</div>, </div>,
okText: '确定', okText: '确定',
onCancel: () => { onCancel: () => {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论