| | |
| | | import MKEmitter from '@/utils/events.js' |
| | | import MenuUtils from '@/utils/utils-custom.js' |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import backurl from '@/assets/img/back.jpg' |
| | | |
| | | import './index.scss' |
| | | |
| | |
| | | this.getSmStemp() |
| | | setGLOBFuncs() |
| | | }, 1000) |
| | | |
| | | document.onkeydown = (event) => { |
| | | let e = event || window.event |
| | | let keyCode = e.keyCode || e.which || e.charCode |
| | | let preKey = '' |
| | | |
| | | if (e.ctrlKey) { |
| | | preKey = 'ctrl' |
| | | } |
| | | if (e.shiftKey) { |
| | | preKey = 'shift' |
| | | } else if (e.altKey) { |
| | | preKey = 'alt' |
| | | } |
| | | |
| | | if (!preKey || !keyCode) return |
| | | |
| | | let _shortcut = `${preKey}+${keyCode}` |
| | | |
| | | if (_shortcut === 'ctrl+83') { |
| | | let node = document.getElementById('save-modal-config') |
| | | if (!node) { |
| | | node = document.getElementById('save-pop-config') |
| | | } |
| | | if (!node) { |
| | | node = document.getElementById('save-config') |
| | | } |
| | | |
| | | if (node) { |
| | | node.click() |
| | | } |
| | | return false |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | if (!config) { |
| | | window.close() |
| | | return |
| | | } |
| | | |
| | | if (!oriConfig || !is(fromJS(oriConfig), fromJS(config))) { |
| | | } else if (!oriConfig || !is(fromJS(oriConfig), fromJS(config))) { |
| | | confirm({ |
| | | title: '配置信息未保存,确定关闭吗?', |
| | | content: '', |
| | |
| | | }) |
| | | } else { |
| | | window.close() |
| | | } |
| | | } |
| | | |
| | | backView = () => { |
| | | const { oriConfig, config } = this.state |
| | | |
| | | if (!config) { |
| | | window.history.back() |
| | | } else if (!oriConfig || !is(fromJS(oriConfig), fromJS(config))) { |
| | | confirm({ |
| | | title: '配置信息未保存,确定后退吗?', |
| | | content: '', |
| | | onOk() { |
| | | window.history.back() |
| | | }, |
| | | onCancel() {} |
| | | }) |
| | | } else { |
| | | window.history.back() |
| | | } |
| | | } |
| | | |
| | |
| | | } else if (item.type === 'group') { |
| | | check(item.components) |
| | | return |
| | | } else if (item.subtype === 'propcard' && item.subcards.length === 0) { |
| | | error = `组件《${item.name}》中卡片不可为空!` |
| | | return |
| | | } else if (item.type === 'login' && !item.wrap.linkmenu && item.wrap.link !== 'menu') { |
| | | error = '登录组件未设置关联菜单!' |
| | | return |
| | | } |
| | | |
| | | if (['propcard', 'brafteditor', 'sandbox', 'stepform', 'tabform'].includes(item.subtype) && item.wrap.datatype === 'static') return |
| | | if (['balcony'].includes(item.type) && item.wrap.datatype === 'static') return |
| | | |
| | |
| | | } else if (item.type === 'tree' && (!item.wrap.valueField || !item.wrap.labelField || !item.wrap.parentField)) { |
| | | error = `组件《${item.name}》基本信息尚未设置!` |
| | | } else if (item.type === 'table' && item.wrap.doubleClick) { |
| | | if (item.action.findIndex((m) => m.uuid === item.wrap.doubleClick) === -1) { |
| | | let _actions = [...item.action] |
| | | item.cols.forEach(col => { |
| | | if (col.type !== 'action') return |
| | | _actions.push(...col.elements) |
| | | }) |
| | | if (_actions.findIndex((m) => m.uuid === item.wrap.doubleClick) === -1) { |
| | | error = `组件《${item.name}》绑定的双击按钮已删除!` |
| | | } |
| | | } |
| | |
| | | {!controlshow ? <DoubleLeftOutlined onClick={() => {sessionStorage.setItem('controlshow', 'true'); this.setState({controlshow: true})}}/> : null} |
| | | </div> |
| | | <div className="wrap"> |
| | | <Button type="primary" onClick={this.submitConfig} loading={menuloading}>{dict['mob.save']}</Button> |
| | | <Button type="primary" id="save-config" onClick={this.submitConfig} loading={menuloading}>{dict['mob.save']}</Button> |
| | | <Switch className="big" checkedChildren={dict['mob.enable']} unCheckedChildren={dict['mob.disable']} checked={config && config.enabled} onChange={this.onEnabledChange} /> |
| | | <img title="后退" className="back-view" onClick={this.backView} src={backurl} alt=""/> |
| | | <CreateView resetmenu={this.getAppMenus} /> |
| | | <PasteController insert={this.insert} /> |
| | | <StyleCombControlButton menu={config} /> |