| | |
| | | return true |
| | | } |
| | | |
| | | resetSyncQuery = (components) => { |
| | | return components.map(item => { |
| | | if (item.type === 'tabs') { |
| | | item.subtabs.forEach(tab => { |
| | | tab.components = this.resetSyncQuery(tab.components) |
| | | }) |
| | | } else if (item.type === 'group') { |
| | | item.components = this.resetSyncQuery(item.components) |
| | | } else if (item.setting && item.setting.interType === 'system' && item.setting.sync === 'true') { |
| | | let sql = '' |
| | | if (item.setting.execute !== 'false' && item.setting.dataresource) { |
| | | sql = item.setting.dataresource |
| | | } |
| | | |
| | | item.scripts && item.scripts.forEach(script => { |
| | | if (script.status === 'false') return |
| | | |
| | | sql += script.sql |
| | | }) |
| | | |
| | | if (sql.length > 8000) { |
| | | item.setting.sync = 'false' |
| | | } |
| | | } |
| | | |
| | | return item |
| | | }) |
| | | } |
| | | |
| | | submitConfig = () => { |
| | | const { MenuType } = this.state |
| | | let config = fromJS(this.state.config).toJS() |
| | |
| | | }) |
| | | |
| | | setTimeout(() => { |
| | | if (config.enabled && this.verifyConfig()) { |
| | | let _pass = this.verifyConfig(config) |
| | | |
| | | if (config.enabled && !_pass) { |
| | | config.enabled = false |
| | | config.force = true |
| | | } else if (!config.enabled && config.force && _pass) { |
| | | config.enabled = true |
| | | delete config.force |
| | | } |
| | | |
| | | if (config.cacheUseful !== 'true') { |
| | | config.components = this.resetSyncQuery(config.components) |
| | | } |
| | | |
| | | let tbs = [] |
| | |
| | | } else { |
| | | resolve(result) |
| | | } |
| | | }) |
| | | }, this.netError) |
| | | }) |
| | | } else { |
| | | resolve({status: true}) |
| | |
| | | } |
| | | return Api.getSystemConfig(_param) |
| | | } |
| | | }).then(res => { // 页面按钮关系保存 |
| | | }, this.netError).then(res => { // 页面按钮关系保存 |
| | | if (!res || !res.status) return res |
| | | |
| | | this.setState({ |
| | |
| | | status: true |
| | | } |
| | | } |
| | | }).then(res => { |
| | | }, this.netError).then(res => { |
| | | this.setState({ |
| | | menuloading: false |
| | | }) |
| | |
| | | duration: 5 |
| | | }) |
| | | } |
| | | }) |
| | | }, this.netError) |
| | | }, 300 + (+sessionStorage.getItem('mkDelay'))) |
| | | } |
| | | |
| | | netError = (error) => { |
| | | this.setState({ |
| | | menuloading: false |
| | | }) |
| | | if (!error) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '保存失败,请检查网络是否正常。', |
| | | duration: 5 |
| | | }) |
| | | } |
| | | } |
| | | |
| | | getRoleFields = () => { |
| | |
| | | onEnabledChange = () => { |
| | | const { config } = this.state |
| | | |
| | | if (!config || (!config.enabled && this.verifyConfig(true))) { |
| | | return |
| | | } |
| | | let _config = {...config, enabled: !config.enabled} |
| | | |
| | | this.setState({ |
| | | config: {...config, enabled: !config.enabled} |
| | | }) |
| | | delete _config.force |
| | | |
| | | if (!_config.enabled) { |
| | | this.setState({ |
| | | config: _config |
| | | }) |
| | | } else if (this.verifyConfig(_config)) { |
| | | this.setState({ |
| | | config: _config |
| | | }) |
| | | } |
| | | } |
| | | |
| | | verifyConfig = (show) => { |
| | | const { config, MenuType } = this.state |
| | | verifyConfig = (config) => { |
| | | const { MenuType } = this.state |
| | | let error = '' |
| | | |
| | | let check = (components) => { |
| | |
| | | |
| | | check(config.components) |
| | | |
| | | if (show && error) { |
| | | if (config.enabled && error) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: error, |
| | |
| | | carousel: '轮播', |
| | | tree: '树形列表', |
| | | chart: '自定义图表', |
| | | editor: '富文本', |
| | | // editor: '富文本', |
| | | group: '分组', |
| | | iframe: 'iframe' |
| | | } |
| | |
| | | } |
| | | }) |
| | | |
| | | if (show && error) { |
| | | if (config.enabled && error) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: error, |
| | |
| | | } |
| | | } |
| | | |
| | | return error |
| | | return error === '' |
| | | } |
| | | |
| | | // 更新配置信息 |
| | |
| | | <PictureController/> |
| | | <StyleCombControlButton menu={config} /> |
| | | <PasteController insert={this.insert} /> |
| | | <Switch className="big" checkedChildren="启" unCheckedChildren="停" checked={config && config.enabled} onChange={this.onEnabledChange} /> |
| | | {config ? <Switch className="big" checkedChildren="启" unCheckedChildren="停" checked={config.enabled} onChange={this.onEnabledChange} /> : null} |
| | | <Button type="primary" id="save-config" className={needUpdate ? 'update-tip' : ''} onClick={this.submitConfig} loading={menuloading}>保存</Button> |
| | | <Button type="default" onClick={this.closeView}>关闭</Button> |
| | | </div> |