| | |
| | | // Do this as the first thing so that any code reading it knows the right env. |
| | | process.env.BABEL_ENV = 'production'; |
| | | process.env.NODE_ENV = 'production'; |
| | | process.env.GENERATE_SOURCEMAP = 'false'; |
| | | |
| | | // Makes the script crash on unhandled rejections instead of silently |
| | | // ignoring them. In the future, promise rejections that are not handled will |
| | |
| | | type: 'ManageTable', |
| | | MenuID: '1585192949946f3et2ts8tn82krmumdf', |
| | | MenuNo: 'MyAppManage', |
| | | MenuName: '应用管理', |
| | | text: '应用管理' |
| | | MenuName: '系统UI', |
| | | text: '系统UI' |
| | | }, { |
| | | src: '', |
| | | systems: ['SSO', 'cloud'], |
| | |
| | | import {modifyTabview, toggleIsiframe, refreshTabView} from '@/store/action' |
| | | import asyncComponent from '@/utils/asyncLoadComponent' |
| | | import NotFount from '@/components/404' |
| | | import options from '@/store/options.js' |
| | | import mzhCN from '@/locales/zh-CN/main.js' |
| | | import menUS from '@/locales/en-US/main.js' |
| | | |
| | |
| | | key={view.MenuID} |
| | | > |
| | | {this.selectcomponent(view)} |
| | | {!['CommonTable', 'TreePage', 'ManageTable'].includes(view.type) ? |
| | | {options.sysType !== 'cloud' && !['CommonTable', 'TreePage', 'ManageTable'].includes(view.type) ? |
| | | <Button |
| | | icon="copy" |
| | | shape="circle" |
| | |
| | | } |
| | | |
| | | state = { |
| | | dict: localStorage.getItem('lang') !== 'en-US' ? zhCN : enUS |
| | | dict: localStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, |
| | | visible: false |
| | | } |
| | | |
| | | UNSAFE_componentWillMount () { |
| | |
| | | // } |
| | | |
| | | onVisibleChange = (visible) => { |
| | | const { element } = this.props |
| | | let val = this.props.form.getFieldValue('content') |
| | | console.log(visible) |
| | | console.log(val) |
| | | |
| | | this.setState({ |
| | | visible: visible |
| | | }) |
| | | |
| | | if (val && element.content !== val) { |
| | | this.props.updateContent({...element, content: val}) |
| | | } else { |
| | | this.props.form.setFieldsValue({content: element.content}) |
| | | } |
| | | } |
| | | |
| | | handleSubmit = () => { |
| | | const { element } = this.props |
| | | let val = this.props.form.getFieldValue('content') |
| | | |
| | | this.setState({ |
| | | visible: false |
| | | }) |
| | | |
| | | if (val && element.content !== val) { |
| | | this.props.updateContent({...element, content: val}) |
| | | } else { |
| | | this.props.form.setFieldsValue({content: element.content}) |
| | | } |
| | | } |
| | | |
| | | render () { |
| | | const { element } = this.props |
| | | const { getFieldDecorator } = this.props.form |
| | | const { visible } = this.state |
| | | |
| | | return ( |
| | | <div className="mob-content-update"> |
| | |
| | | initialValue: element.content |
| | | })(<Input placeholder="" autoComplete="off" onPressEnter={this.handleSubmit} />)} |
| | | </div> |
| | | } overlayClassName="mob-content-update-popover" placement="bottomRight" title="" trigger="click" onVisibleChange={this.onVisibleChange}> |
| | | } overlayClassName="mob-content-update-popover" placement="bottomRight" title="" visible={visible} trigger="click" onVisibleChange={this.onVisibleChange}> |
| | | <Icon type="edit" /> |
| | | </Popover> |
| | | </div> |
| | |
| | | border-radius: 2px; |
| | | color: #ffffff; |
| | | font-size: 14px; |
| | | display: none; |
| | | |
| | | i { |
| | | padding: 2px 5px; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | } |
| | | .editing .mob-content-update { |
| | | display: inline-block; |
| | | } |
| | | .mob-content-update-popover { |
| | | .ant-popover-content { |
| | |
| | | card: PropTypes.object, |
| | | editId: PropTypes.any, |
| | | triggerEdit: PropTypes.func, |
| | | updateConfig: PropTypes.func, |
| | | onDoubleClick: PropTypes.func |
| | | } |
| | | |
| | |
| | | this.props.triggerEdit(element) |
| | | } |
| | | |
| | | updateContent = () => { |
| | | |
| | | updateContent = (card) => { |
| | | this.props.updateConfig(card) |
| | | } |
| | | |
| | | render () { |
| | |
| | | return ( |
| | | <div className="mob-login" onClick={this.editBox} style={{paddingTop: `calc(17vh - 10px)`}}> |
| | | <div className={'logo ' + (editId === card.logo.uuid ? 'editing' : '')} onClick={this.editLogo}> |
| | | <ContentUpdate element={card.logo} updateContent={(ele) => this.updateContent({...card, logo: ele})}/> |
| | | <img src={card.logo.content} alt=""/> |
| | | </div> |
| | | <div className={'plat-name ' + (editId === card.title.uuid ? 'editing' : '')} onClick={this.editTitle}> |
| | | {editId === card.title.uuid ? <ContentUpdate element={card.title} updateContent={this.updateContent}/> : null} |
| | | <ContentUpdate element={card.title} updateContent={(ele) => this.updateContent({...card, title: ele})}/> |
| | | {card.title.content} |
| | | </div> |
| | | <InputItem |
| | |
| | | </div> |
| | | <Button type="primary" onDoubleClick={() => this.props.doubleClickCard(card.login)}>登录</Button> |
| | | <div className={'company-msg ' + (editId === card.copyright.uuid ? 'editing' : '')} onClick={this.editMsg}> |
| | | <ContentUpdate element={card.copyright} updateContent={(ele) => this.updateContent({...card, copyright: ele})}/> |
| | | <p>{card.copyright.content}</p> |
| | | </div> |
| | | </div> |
| | |
| | | background: linear-gradient(#378DBE, #46C29E, #48A9D6); |
| | | |
| | | .logo { |
| | | position: relative; |
| | | max-width: 280px; |
| | | min-height: 10px; |
| | | margin: 0 auto; |
| | |
| | | // const Home = asyncComponent(() => import('@/mob/home')) |
| | | const Login = asyncComponent(() => import('@/mob/login')) |
| | | |
| | | const Card = ({ id, card, moveCard, findCard, editId, editCard, delCard, hasDrop, doubleClickCard }) => { |
| | | const Card = ({ id, card, moveCard, findCard, editId, editCard, delCard, hasDrop, doubleClickCard, updateConfig }) => { |
| | | const originalIndex = findCard(id).index |
| | | const [{ isDragging }, drag] = useDrag({ |
| | | item: { type: 'mob', id, originalIndex }, |
| | |
| | | const getCardComponent = () => { |
| | | if (card.type === 'login') { |
| | | if (card.subtype === 'mob-login-1') { |
| | | return (<Login card={card} triggerEdit={editCard} editId={editId} onDoubleClick={doubleClickCard} />) |
| | | return (<Login card={card} triggerEdit={editCard} editId={editId} onDoubleClick={doubleClickCard} updateConfig={updateConfig} />) |
| | | } |
| | | } |
| | | } |
| | |
| | | target = item |
| | | } |
| | | |
| | | const updateConfig = (element) => { |
| | | handleList({...config, components: cards.map(item => item.uuid === element.uuid ? element : item)}) |
| | | } |
| | | |
| | | const [, drop] = useDrop({ |
| | | accept: 'mob', |
| | | drop(item) { |
| | |
| | | delCard={deleteCard} |
| | | findCard={findCard} |
| | | hasDrop={hasDrop} |
| | | updateConfig={updateConfig} |
| | | doubleClickCard={doubleClickCard} |
| | | /> |
| | | ))} |
| | |
| | | // 系统配置 |
| | | export default { |
| | | sysType: 'bG9j$mkYWw=', // yun ( Y2xvdWQ= ) 、 dandian ( U1NP ) 、 yewu ( bG9jYWw= ) |
| | | sysType: 'bG9j$mkYWw=', // yun ( Y2xv$mkdWQ= ) 、 dandian ( U1$mkNP ) 、 yewu ( bG9j$mkYWw= ) |
| | | caId: 'MjAyMDAxMTYxMjMzMzU1MDd$mkGQzkyMzI1Rjk4MDY0QUNGQjQ2Mg==', // mk |
| | | cakey: 'MjAyMDAxMTYxMjQwMDQ2NDM$mk2N0QzODE2MjExNUI0MTc4OTVDMQ==', // mk |
| | | cdomain: 'aHR0cDovL2Nsb3V$mkkLm1rOWguY24=' // mk |
| | |
| | | import moment from 'moment' |
| | | |
| | | import Api from '@/api' |
| | | import options from '@/store/options.js' |
| | | import zhCN from '@/locales/zh-CN/main.js' |
| | | import enUS from '@/locales/en-US/main.js' |
| | | import Utils from '@/utils/utils.js' |
| | |
| | | </Tabs>) |
| | | ) |
| | | } |
| | | <Button |
| | | {options.sysType !== 'cloud' ? <Button |
| | | icon="copy" |
| | | shape="circle" |
| | | className="common-table-copy" |
| | | onClick={this.handleviewconfig} |
| | | /> |
| | | /> : null} |
| | | <Modal |
| | | className="menu-tree-modal" |
| | | title={'菜单结构树'} |
| | |
| | | import moment from 'moment' |
| | | |
| | | import Api from '@/api' |
| | | import options from '@/store/options.js' |
| | | import zhCN from '@/locales/zh-CN/main.js' |
| | | import enUS from '@/locales/en-US/main.js' |
| | | import Utils from '@/utils/utils.js' |
| | |
| | | </Col> |
| | | </Row> : null} |
| | | |
| | | <Button |
| | | {options.sysType !== 'cloud' ? <Button |
| | | icon="copy" |
| | | shape="circle" |
| | | className="tree-page-copy" |
| | | onClick={this.handleviewconfig} |
| | | /> |
| | | /> : null} |
| | | <Modal |
| | | className="menu-tree-modal" |
| | | title={'菜单结构树'} |
| | |
| | | |
| | | .ant-card-meta-avatar { |
| | | position: relative; |
| | | height: 0; |
| | | padding-top: 0px; |
| | | padding-left: 0px; |
| | | float: unset; |
| | |
| | | text-overflow: ellipsis; |
| | | } |
| | | .mk-card-detail-item:not(.line1) { |
| | | word-break: break-word; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | overflow: hidden; |
| | |
| | | |
| | | aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg` |
| | | |
| | | if (window.GLOB.systemType !== 'official') { |
| | | if (window.GLOB.systemType !== 'official' && options.sysType !== 'cloud') { |
| | | let fsql = ` |
| | | ${_sql} |
| | | ${_sqlInsert} |
| | |
| | | _sql += ` |
| | | aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg` |
| | | |
| | | if (window.GLOB.systemType !== 'official') { |
| | | if (window.GLOB.systemType !== 'official' && options.sysType !== 'cloud') { |
| | | _sql = _sql.replace(/\n\s{8}/ig, '\n') |
| | | console.log(_sql) |
| | | } |