From 17e0433eb3919da86e757cc93dac3f2ed9fca9d6 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 27 四月 2025 15:37:51 +0800 Subject: [PATCH] 2025-04-27 --- src/tabviews/custom/components/card/double-data-card/index.jsx | 37 +++++++++++++++++++++++++++++++++++-- 1 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/tabviews/custom/components/card/double-data-card/index.jsx b/src/tabviews/custom/components/card/double-data-card/index.jsx index f95fca7..223d05d 100644 --- a/src/tabviews/custom/components/card/double-data-card/index.jsx +++ b/src/tabviews/custom/components/card/double-data-card/index.jsx @@ -184,8 +184,10 @@ }) } - _config.setting.sub_field = subconfig.columns.map(col => col.field).join(',') - _config.setting.all_field = _config.setting.arr_field + ',' + _config.setting.sub_field + if (_config.setting.subdata !== 'sub_data_string') { + _config.setting.sub_field = subconfig.columns.map(col => col.field).join(',') + _config.setting.all_field = _config.setting.arr_field + ',' + _config.setting.sub_field + } let pageOptions = ['10', '25', '50', '100', '500', '1000'] @@ -287,6 +289,10 @@ delete item[config.setting.subdata] + if (config.setting.subdata === 'sub_data_string') { + _children = this.parseSubData(_children) + } + _children.forEach((cell, i) => { cell.key = i cell.$$uuid = cell[config.setting.subKey] || '' @@ -345,6 +351,21 @@ this.loadData() }, config.setting.delay || 0) } + } + + parseSubData = (data) => { + try { + data = JSON.parse(data) + if (typeof(data) !== 'object') { + data = [] + } else if (!Array.isArray(data)) { + data = [data] + } + } catch(e) { + console.warn('Data parsing error.') + data = [] + } + return data } autoExec = (times) => { @@ -663,6 +684,10 @@ let _children = item[config.setting.subdata] delete item[config.setting.subdata] + + if (config.setting.subdata === 'sub_data_string') { + _children = this.parseSubData(_children) + } _children.forEach((cell, i) => { cell.key = i @@ -703,6 +728,10 @@ let _children = item[config.setting.subdata] delete item[config.setting.subdata] + + if (config.setting.subdata === 'sub_data_string') { + _children = this.parseSubData(_children) + } _children.forEach((cell, i) => { cell.key = i @@ -830,6 +859,10 @@ delete _data[config.setting.subdata] + if (config.setting.subdata === 'sub_data_string') { + _children = this.parseSubData(_children) + } + _children.forEach((cell, i) => { cell.key = i cell.$$uuid = cell[config.setting.subKey] || '' -- Gitblit v1.8.0