| | |
| | | const PasteController = asyncComponent(() => import('@/menu/pastecontroller')) |
| | | const StyleController = asyncComponent(() => import('@/menu/stylecontroller')) |
| | | const ReplaceField = asyncComponent(() => import('@/menu/replaceField')) |
| | | const NormalCss = asyncComponent(() => import('@/menu/normalCss')) |
| | | const Versions = asyncComponent(() => import('@/menu/versions')) |
| | | const TableNodes = asyncComponent(() => import('@/menu/tablenodes')) |
| | | const SysInterface = asyncComponent(() => import('@/menu/sysinterface')) |
| | |
| | | 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()) { |
| | | config.enabled = false |
| | | } |
| | | |
| | | if (config.cacheUseful !== 'true') { |
| | | config.components = this.resetSyncQuery(config.components) |
| | | } |
| | | |
| | | let tbs = [] |
| | |
| | | btnParam.LText = Utils.formatOptions(btnParam.LText) |
| | | btnParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') |
| | | btnParam.secretkey = Utils.encrypt(btnParam.LText, btnParam.timestamp) |
| | | |
| | | |
| | | new Promise(resolve => { |
| | | if (MenuType === 'billPrint') { // 打印生成页面效果图 |
| | |
| | | } else { |
| | | resolve(result) |
| | | } |
| | | }) |
| | | }, this.netError) |
| | | }) |
| | | } else { |
| | | resolve({status: true}) |
| | |
| | | if (!res || !res.status) return res |
| | | |
| | | if (MenuType !== 'billPrint') { // 基本信息改变时,通知菜单列表更新 |
| | | let ori = this.state.oriConfig |
| | | if (config.MenuName !== ori.MenuName || config.MenuNo !== ori.MenuNo || config.parentId !== ori.parentId) { |
| | | localStorage.setItem('menuUpdate', new Date().getTime()) |
| | | } |
| | | localStorage.setItem('menuUpdate', new Date().getTime() + ',' + config.uuid) |
| | | } |
| | | config.open_edition = res.open_edition || '' |
| | | this.setState({ |
| | |
| | | } |
| | | 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 = () => { |
| | |
| | | carousel: '轮播', |
| | | tree: '树形列表', |
| | | chart: '自定义图表', |
| | | editor: '富文本', |
| | | group: '分组' |
| | | // editor: '富文本', |
| | | group: '分组', |
| | | iframe: 'iframe' |
| | | } |
| | | let subforbid = { |
| | | editable: '可编辑表格', |
| | | voucher: '凭证' |
| | | voucher: '凭证', |
| | | account: '账套' |
| | | } |
| | | |
| | | config.components.forEach(item => { |
| | |
| | | {/* 表名添加 */} |
| | | {config ? <TableComponent config={config} updatetable={this.updateConfig}/> : null} |
| | | {config ? <Paragraph style={{padding: '15px 0px 0px 18px'}} copyable={{ text: MenuId }}>菜单ID</Paragraph> : null} |
| | | {config ? <NormalCss config={config} updateConfig={this.updateConfig}/> : null} |
| | | </Panel> |
| | | {/* 组件添加 */} |
| | | <Panel header="组件" key="component"> |