From 888095418c902cc94693cba8b45f31bb79cdf818 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 28 二月 2020 01:31:46 +0800 Subject: [PATCH] 2020-02-28 --- src/templates/formtabconfig/index.jsx | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 51 insertions(+), 9 deletions(-) diff --git a/src/templates/formtabconfig/index.jsx b/src/templates/formtabconfig/index.jsx index 064cd75..6eab791 100644 --- a/src/templates/formtabconfig/index.jsx +++ b/src/templates/formtabconfig/index.jsx @@ -83,11 +83,22 @@ if (!config) { _config = JSON.parse(JSON.stringify(Source.baseConfig)) _config.isAdd = true - if (menu && menu.LongParam && menu.LongParam.setting.dataresource) { + if (menu && menu.LongParam && menu.LongParam.setting) { + _config.setting.tableName = menu.LongParam.setting.tableName + _config.setting.primaryKey = menu.LongParam.setting.primaryKey _config.setting.dataresource = menu.LongParam.setting.dataresource + _config.setting.interType = menu.LongParam.setting.interType + _config.setting.interface = menu.LongParam.setting.interface + _config.setting.outerFunc = menu.LongParam.setting.outerFunc + _config.setting.innerFunc = menu.LongParam.setting.innerFunc + _config.setting.sysInterface = menu.LongParam.setting.sysInterface } } else { _config = config + + if (menu && menu.LongParam && menu.LongParam.setting) { + _config.setting.primaryKey = menu.LongParam.setting.primaryKey + } _config.groups.forEach(group => { group.sublist.forEach(item => { @@ -551,6 +562,14 @@ if (modaltype === 'search') { this.modalFormRef.handleConfirm().then(res => { + if (config.setting.primaryKey && config.setting.primaryKey.toLowerCase() === res.field.toLowerCase()) { + notification.warning({ + top: 92, + message: '琛ㄥ崟涓瓧娈靛悕涓嶅彲涓庝富閿噸澶嶏紒', + duration: 10 + }) + return + } if ( // 鏇存柊涓嬫媺瀛楀吀 (res.type === 'select' || res.type === 'multiselect' || res.type === 'link') && res.resourceType === '0' && @@ -1270,13 +1289,19 @@ } // 瀛樺湪澶氫綑鐨勭┖琛ㄥ崟缁� - if (_config.groups.length > 1) { - _config.groups.forEach(group => { - if (group.sublist.length === 0) { - _config.enabled = false - } - }) - } + let _ismutil = _config.groups.length > 1 + let _primary = _config.setting.primaryKey ? _config.setting.primaryKey.toLowerCase() : '' + + _config.groups.forEach(group => { + if (_ismutil && group.sublist.length === 0) { + _config.enabled = false + } + let arr = group.sublist.filter(item => item.field.toLowerCase() === _primary) + + if (arr.length > 0) { + _config.enabled = false + } + }) _config.funcs = [] // 椤甸潰鍙婂瓙椤甸潰瀛樺偍杩囩▼闆� @@ -1928,13 +1953,24 @@ }) } + let _primary = config.setting.primaryKey ? config.setting.primaryKey.toLowerCase() : '' + let primaryrepeat = false + + config.groups.forEach(group => { + let arr = group.sublist.filter(item => item.field.toLowerCase() === _primary) + + if (arr.length > 0) { + primaryrepeat = true + } + }) + if (config.setting.datatype === 'query' && config.setting.interType === 'inner' && !config.setting.innerFunc && !config.setting.dataresource) { notification.warning({ top: 92, message: '灏氭湭璁剧疆鏁版嵁婧愶紝涓嶅彲鍚敤锛�', duration: 10 }) - } else if (config.setting.datatype === 'query' && config.setting.primaryKey) { + } else if (config.setting.datatype === 'query' && !config.setting.primaryKey) { notification.warning({ top: 92, message: '灏氭湭璁剧疆涓婚敭锛屼笉鍙惎鐢紒', @@ -1952,6 +1988,12 @@ message: '瀛樺湪澶氫綑绌鸿〃鍗曠粍锛屼笉鍙惎鐢紒', duration: 10 }) + } else if (primaryrepeat) { + notification.warning({ + top: 92, + message: '琛ㄥ崟瀛楁涓庝富閿噸澶嶏紝涓嶅彲鍚敤锛�', + duration: 10 + }) } else { this.setState({ config: {...config, enabled: !config.enabled} -- Gitblit v1.8.0