| | |
| | | { |
| | | "appId": "202109161556242376DEC38C96FFF414E8DEF", |
| | | "appkey": "20210916155606327FB54C811DE824AFEB22C", |
| | | "appId": "202108312122504607B107A83F55B40C98CCF", |
| | | "appkey": "20210831212235413F287EC3BF489424496C8", |
| | | "mainSystemApi": "http://sso.mk9h.cn/cloud/webapi/dostars", |
| | | "systemType": "", |
| | | "externalDatabase": "", |
| | | "externalDatabase": "false", |
| | | "lineColor": "", |
| | | "filter": "false", |
| | | "defaultApp": "mk", |
| | | "defaultApp": "mkindustry", |
| | | "defaultLang": "zh-CN", |
| | | "WXAppID": "", |
| | | "debugger": false, |
| | | "licenseKey": "", |
| | | "probation": "", |
| | | "licenseKey": "7EFE13KIKLILIJB64C12", |
| | | "probation": "2021-12-31", |
| | | "keepPassword": "true", |
| | | "host": "http://demo.mk9h.cn", |
| | | "service": "kalai_mes/" |
| | | "service": "erp_new/" |
| | | } |
| | |
| | | style: res.CSS || '', |
| | | showline: res.split_line_show || 'true', |
| | | webSite: res.WebSite || '', |
| | | navBar: res.menu_type, |
| | | navBar: res.menu_type, // shutter 百叶窗、linkage_navigation 联动菜单、linkage 联动菜单_无导航栏、menu_board 菜单面板、menu_board_navigation 菜单面板_标签页 |
| | | app_version: res.app_version |
| | | } |
| | | |
| | |
| | | import moment from 'moment' |
| | | import HTML5Backend from 'react-dnd-html5-backend' |
| | | import { ConfigProvider, notification, Modal, Collapse, Card, Switch, Button, Typography } from 'antd' |
| | | import { DoubleLeftOutlined, DoubleRightOutlined } from '@ant-design/icons' |
| | | import html2canvas from 'html2canvas' |
| | | |
| | | import Api from '@/api' |
| | |
| | | popBtn: null, // 弹窗标签页 |
| | | visible: false, |
| | | customComponents: [], |
| | | comloading: false |
| | | comloading: false, |
| | | settingshow: !['linkage_navigation', 'linkage', 'menu_board', 'menu_board_navigation'].includes(window.GLOB.navBar) |
| | | } |
| | | |
| | | UNSAFE_componentWillMount() { |
| | |
| | | config = null |
| | | } |
| | | |
| | | let _settingshow = this.state.settingshow |
| | | if (!config) { |
| | | _settingshow = true |
| | | config = { |
| | | version: 1.0, |
| | | uuid: MenuId, |
| | |
| | | window.GLOB.urlFields = config.urlFields || [] |
| | | |
| | | this.setState({ |
| | | settingshow: _settingshow, |
| | | oriConfig: config, |
| | | config: fromJS(config).toJS() |
| | | }) |
| | |
| | | } |
| | | |
| | | render () { |
| | | const { activeKey, comloading, MenuType, popBtn, visible, dict, MenuId, config, ParentId, MenuName, MenuNo, menuloading, customComponents } = this.state |
| | | const { activeKey, comloading, MenuType, popBtn, visible, dict, MenuId, config, settingshow, ParentId, MenuName, MenuNo, menuloading, customComponents } = this.state |
| | | |
| | | return ( |
| | | <ConfigProvider locale={_locale}> |
| | |
| | | <Header /> |
| | | {!popBtn && !visible ? <DndProvider backend={HTML5Backend}> |
| | | <div className="menu-body"> |
| | | <div className="menu-setting"> |
| | | <div className={'menu-setting ' + (!settingshow ? 'hidden' : '')}> |
| | | <div className="draw"> |
| | | {settingshow ? <DoubleLeftOutlined onClick={() => this.setState({settingshow: false})}/> : null} |
| | | {!settingshow ? <DoubleRightOutlined onClick={() => this.setState({settingshow: true})}/> : null} |
| | | </div> |
| | | <Collapse accordion activeKey={activeKey} bordered={false} onChange={(key) => this.setState({activeKey: key})}> |
| | | {/* 基本信息 */} |
| | | <Panel header={dict['mob.basemsg']} key="basedata"> |
| | |
| | | </div> |
| | | <div className={'menu-view ' + (menuloading ? 'saving' : '')}> |
| | | <Card title={ |
| | | <div> {config && config.MenuName} </div> |
| | | <div style={{paddingLeft: '15px'}}> {config && config.MenuName} </div> |
| | | } bordered={false} extra={ |
| | | <div> |
| | | <Versions MenuId={MenuId} open_edition={config ? config.open_edition : ''}/> |
| | |
| | | width: 300px; |
| | | background: #ffffff; |
| | | box-shadow: 0px 2px 5px #bcbcbc; |
| | | overflow-y: auto; |
| | | overflow-x: hidden; |
| | | transition: left 0.3s; |
| | | |
| | | .draw { |
| | | position: absolute; |
| | | z-index: 11; |
| | | background: #ffffff; |
| | | right: -20px; |
| | | top: 0px; |
| | | box-shadow: 0 0 1px #959595; |
| | | border-radius: 0 2px 2px 0px; |
| | | |
| | | .anticon { |
| | | padding: 12px 3px; |
| | | } |
| | | } |
| | | > .ant-collapse { |
| | | height: 100%; |
| | | overflow-y: auto; |
| | | overflow-x: hidden; |
| | | background-color: #ffffff; |
| | | border-radius: 0px; |
| | | padding-bottom: 30px; |
| | | .ant-collapse-item.ant-collapse-item-active { |
| | | border-bottom: 1px solid #d9d9d9; |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | .menu-setting::-webkit-scrollbar { |
| | | .menu-setting >.ant-collapse::-webkit-scrollbar { |
| | | width: 4px; |
| | | } |
| | | .menu-setting::-webkit-scrollbar-thumb { |
| | | .menu-setting >.ant-collapse::-webkit-scrollbar-thumb { |
| | | border-radius: 5px; |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.08); |
| | | background: rgba(0, 0, 0, 0.08); |
| | | } |
| | | .menu-setting::-webkit-scrollbar-track { |
| | | .menu-setting >.ant-collapse::-webkit-scrollbar-track { |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); |
| | | border-radius: 3px; |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | |
| | | .menu-setting.hidden { |
| | | left: -300px; |
| | | } |
| | | .menu-setting.hidden + .menu-view { |
| | | width: 100vw; |
| | | margin-left: 0px; |
| | | } |
| | | |
| | | .menu-view { |
| | |
| | | margin-left: 300px; |
| | | height: calc(100vh - 50px); |
| | | overflow-y: auto; |
| | | transition: all 0.3s; |
| | | |
| | | > .ant-card { |
| | | >.ant-card-head { |