diff --git a/src/components/scTable/index.vue b/src/components/scTable/index.vue index 7d9feff0..b10ca015 100644 --- a/src/components/scTable/index.vue +++ b/src/components/scTable/index.vue @@ -333,14 +333,21 @@ export default { dataToExcel(this.hExportCols, this.tableData, this.hExportName?this.hExportName:'表格数据') }else if (type === 2) { const extractHeaderKeys = (columns) =>{ - const keys = columns.map(item => { - // 如果key中包含点号,只取点号前面的部分 - return item.key.split('.')[0]; - }); - - // 去重并转回字符串 - return [...new Set(keys)].join(','); - } + const keys = []; + columns.map(item => { + if(item.is_notquery){ + let key = item.key.split('.')[0]; + if(key.indexOf('mio')>-1){ + keys.push('mio'); + } + }else{ + let key = item.key.split('.')[0];// 如果key中包含点号,只取点号前面的部分 + keys.push(key); + } + }); + // 去重并转回字符串 + return [...new Set(keys)].join(','); + } var c = Object.assign({}, this.query, this.tableParams, {[this.orderStr]: this.order}, {page: 0}, {query: "{" + extractHeaderKeys(this.hExportCols) + "}"} ) diff --git a/src/utils/exportExcel.js b/src/utils/exportExcel.js index 01bf6b5a..81292390 100644 --- a/src/utils/exportExcel.js +++ b/src/utils/exportExcel.js @@ -22,7 +22,7 @@ export const dataToExcel = (columns = [], data = [], name = 'data') => { const dataList = data.map((item) => { let obj = {}; columns.forEach(col => { - obj[col.header] = getNestedValue(item, col.key) ?? ''; + obj[col.header] = getNestedValue(item, col.key, col.type_dict) ?? ''; }); return obj; }); @@ -54,19 +54,30 @@ export const dataToExcel = (columns = [], data = [], name = 'data') => { // URL.revokeObjectURL(blobUrl); }; -const getNestedValue = (obj, path, defaultValue = '') => { +const getNestedValue = (obj, path,type_dict, defaultValue = '') => { if (!obj || !path) return defaultValue; - const keys = path.split('.'); let result = obj; - - for (const key of keys) { - if (result === null || result === undefined) { - return defaultValue; + if(type_dict!==undefined){ + let dict_key = ""; + if(path.indexOf(".")>-1){ + let key0 = path.split(".")[0]; + let key1 = path.split(".")[1]; + let obj1 = result[key0]; + let key2 = obj1[key1]; + dict_key = key2; + }else{ + dict_key = result[path]; } - result = result[key]; + result = type_dict[dict_key] + }else{ + for (const key of keys) { + if (result === null || result === undefined) { + return defaultValue; + } + result = result[key]; + } } - return result !== undefined ? result : defaultValue; }; const calculateColumnWidths = (columns, dataList) => { diff --git a/src/views/inm/mioitemlist.vue b/src/views/inm/mioitemlist.vue index 64d96ec5..9c1b575b 100644 --- a/src/views/inm/mioitemlist.vue +++ b/src/views/inm/mioitemlist.vue @@ -3,7 +3,7 @@
- @@ -155,21 +158,8 @@ >撤消 - + - - -