From b24691f4e391e80607532fe66087bde015ee2dee Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 14 四月 2020 15:34:08 +0800 Subject: [PATCH] 2020-04-14 --- src/views/printTemplate/index.jsx | 87 +++++++++++++++++++++++++++++++------------ 1 files changed, 62 insertions(+), 25 deletions(-) diff --git a/src/views/printTemplate/index.jsx b/src/views/printTemplate/index.jsx index 2a1e0dd..d7d3718 100644 --- a/src/views/printTemplate/index.jsx +++ b/src/views/printTemplate/index.jsx @@ -381,9 +381,19 @@ _config.type = 'Template' _config.uuid = Utils.getuuid() - if (result.data && result.data[0] && result.data[0].TableName) { - this.loadFields(result.data[0].TableName) + let tables = [] + + if (result.data && result.data.length > 0) { + result.data.forEach(item => { + if (item.TableName) { + tables.push(item.TableName) + } + }) + + tables = Array.from(new Set(tables)) } + + this.loadFields(tables) this.handleResize() this.setState({ @@ -418,33 +428,66 @@ /** * @description 鑾峰彇鍙敤瀛楁 */ - async loadFields (TBName) { - let param = { - func: 'sPC_Get_FieldName', - TBName: TBName + loadFields (tables) { + if (tables.length === 0) { + let _fields = [{ + value: '', + text: '绌�', + type: '' + }, { + value: 'other_field', + text: '鍏朵粬', + type: '' + }] + + this.setState({ + fields: _fields + }) + return } - let result = await Api.getCloudConfig(param) - - if (result.status) { + let deffers = tables.map(name => { + return new Promise(resolve => { + Api.getSystemConfig({func: 'sPC_Get_FieldName', TBName: name}).then(res => { + resolve(res) + }) + }) + }) + Promise.all(deffers).then(response => { let _fields = [{ value: '', text: '绌�', type: '' }] + let error = null let _f = new Map() - - result.FDName.forEach(item => { - if (item.FieldName && !_f.has(item.FieldName)) { - _f.set(item.FieldName, true) - - _fields.push({ - value: item.FieldName, - text: item.FieldDec + '(' + item.FieldName + ')', - type: item.FieldType + + response.forEach(res => { + if (res.status) { + res.FDName.forEach(item => { + if (item.FieldName && !_f.has(item.FieldName)) { + _f.set(item.FieldName, true) + + _fields.push({ + value: item.FieldName, + text: item.FieldDec + '(' + item.FieldName + ')', + type: item.FieldType + }) + } }) + } else { + error = res } }) + + if (error) { + notification.warning({ + top: 92, + message: error.ErrMesg, + duration: 10 + }) + return + } _fields.push({ value: 'other_field', @@ -455,13 +498,7 @@ this.setState({ fields: _fields }) - } else { - notification.warning({ - top: 92, - message: result.ErrMesg, - duration: 10 - }) - } + }) } dropcard = (item) => { -- Gitblit v1.8.0