| | |
| | | * @description 获取语言转换信息 |
| | | */ |
| | | export function getLangTrans (config) { |
| | | if (sessionStorage.getItem('lang') !== 'zh-CN') return '' |
| | | |
| | | let langList = sessionStorage.getItem('langList') |
| | | let appType = sessionStorage.getItem('appType') |
| | | |
| | |
| | | langList = sessionStorage.getItem('applangList') |
| | | } |
| | | |
| | | if (!langList) return |
| | | |
| | | let defLang = '' |
| | | if (!langList) return '' |
| | | |
| | | try { |
| | | langList = JSON.parse(langList) |
| | | defLang = langList[0] |
| | | } catch (e) { |
| | | defLang = '' |
| | | langList = '' |
| | | } |
| | | |
| | | if (!defLang) return '' |
| | | if (!langList) return '' |
| | | |
| | | langList = langList.filter(n => n !== 'zh-CN') |
| | | |
| | | if (langList.length === 0) return '' |
| | | |
| | | let sql = [] |
| | | let btn = [] |
| | |
| | | let result = [] |
| | | |
| | | langList.forEach(lan => { |
| | | if (lan === defLang) return |
| | | |
| | | list.forEach(n => { |
| | | result.push(`'${lan}',${n}`) |
| | | }) |
| | |
| | | }) |
| | | } |
| | | if (applangList.length) { |
| | | applangList.unshift('zh-CN') |
| | | applangList = JSON.stringify(applangList) |
| | | } else { |
| | | applangList = '' |
| | |
| | | }) |
| | | } |
| | | if (applangList.length) { |
| | | applangList.unshift('zh-CN') |
| | | applangList = JSON.stringify(applangList) |
| | | } else { |
| | | applangList = '' |
| | |
| | | params.unshift(_pars) |
| | | } else if (window.backend && config.allSqls && params.length > 0) { |
| | | let data = [] |
| | | let ids = [] |
| | | params = params.filter(item => { |
| | | if (!item.$backend || item.public) return true |
| | | |
| | | ids.push(item.componentId) |
| | | item.data[0].exps.forEach(cell => { |
| | | if (cell.key === 'mk_obj_name') { |
| | | cell.value = 'mk' + item.componentId.slice(-18) |
| | |
| | | $backend: true, |
| | | $type: 's_Get_TableData', |
| | | componentId: '', |
| | | componentIds: ids, |
| | | data |
| | | }) |
| | | } |
| | |
| | | |
| | | if (params.length === 0 && initInters.length === 0) { |
| | | this.setState({loadingview: false, pages: [config.components]}) |
| | | |
| | | this.autoExec() |
| | | } else if (initInters.length > 0) { |
| | | this.loadinit(initInters, params) |
| | | } else { |
| | |
| | | Promise.all(deffers).then(() => { |
| | | if (params.length === 0) { |
| | | this.setState({loadingview: false, pages: [this.state.config.components]}) |
| | | |
| | | this.autoExec() |
| | | } else { |
| | | this.loadmaindata(params) |
| | | } |
| | |
| | | |
| | | let deffers = params.map(item => { |
| | | let componentId = item.componentId |
| | | let ids = item.componentIds |
| | | delete item.componentId |
| | | delete item.componentIds |
| | | delete item.public |
| | | return new Promise(resolve => { |
| | | Api.genericInterface(item).then(res => { |
| | |
| | | }) |
| | | } |
| | | resolve(false) |
| | | } else if (ids) { |
| | | ids.forEach(id => { |
| | | let _id = 'mk' + id.slice(-18) |
| | | |
| | | if (res[_id]) { |
| | | let _data = { $$empty: true } |
| | | if (res[_id][0]) { |
| | | _data = res[_id][0] |
| | | } |
| | | window.GLOB.CacheData.set(id, _data) |
| | | } |
| | | }) |
| | | |
| | | resolve(res) |
| | | } else { |
| | | res.componentId = componentId |
| | | |
| | |
| | | }) |
| | | |
| | | this.setState({loadingview: false, pages, rePos}) |
| | | |
| | | this.autoExec() |
| | | }) |
| | | } |
| | | |
| | | autoExec = () => { |
| | | const { config } = this.state |
| | | |
| | | if (config.autoExec !== 'true') return |
| | | |
| | | setTimeout(() => { |
| | | this.print() |
| | | }, config.autoExecSplit || 500) |
| | | } |
| | | |
| | | reloadTabs = () => { |
| | | if (this.reloading) return |
| | | |
| | |
| | | userName: sessionStorage.getItem('CloudUserName'), |
| | | avatar: Utils.getrealurl(sessionStorage.getItem('CloudAvatar')), |
| | | logo: sessionStorage.getItem('CloudLogo') || MainLogo, |
| | | subLang: sessionStorage.getItem('subLangList') !== null, |
| | | visible: false, |
| | | loading: false |
| | | } |
| | |
| | | |
| | | render () { |
| | | const { mainMenu, editLevel } = this.props |
| | | const { menulist, visible, loading, logo, subLang } = this.state |
| | | const { menulist, visible, loading, logo } = this.state |
| | | |
| | | return ( |
| | | <header className={'sys-header-container ant-menu-dark ' + (['level2', 'level3'].includes(editLevel) ? 'mask' : '')} id="main-header-container"> |
| | |
| | | 编辑 |
| | | </Button> |
| | | </div> : null} |
| | | {window.GLOB.systemType !== 'production' && subLang ? <div className="entrance"> |
| | | {window.GLOB.systemType !== 'production' && sessionStorage.getItem('lang') !== 'zh-CN' ? <div className="entrance"> |
| | | <div className="icon"><PlusOutlined /></div> |
| | | <div className="title">菜单转换</div> |
| | | <div className="detail">可选择母语系统的菜单,快速转换到当前语言。打印模板请在HS下复制后,在此处选择指定模板进行语言转换。</div> |
| | |
| | | visible: false, |
| | | loading: false, |
| | | saveing: false, |
| | | lang: '', |
| | | type: '', |
| | | dicts: [], |
| | | menus: [], |
| | |
| | | } |
| | | |
| | | trigger = () => { |
| | | let langs = sessionStorage.getItem('subLangList') |
| | | langs = JSON.parse(langs) |
| | | |
| | | this.setState({ |
| | | lang: langs[0], |
| | | loading: true, |
| | | visible: true, |
| | | saveing: false, |
| | |
| | | }) |
| | | |
| | | this.getDicts() |
| | | this.getMenus(langs[0]) |
| | | this.getMenus() |
| | | } |
| | | |
| | | getDicts = () => { |
| | |
| | | }) |
| | | } |
| | | |
| | | getMenus = (lang) => { |
| | | getMenus = () => { |
| | | if (this.state.menus.length > 0) { |
| | | this.setState({loading: false}) |
| | | return |
| | |
| | | func: 's_get_pc_menus', |
| | | systemType: window.GLOB.sysType, |
| | | pro_sys: '', |
| | | lang: lang, |
| | | lang: 'zh-CN', |
| | | debug: 'Y' |
| | | } |
| | | |
| | |
| | | |
| | | transThdMenu = (menu, reload) => { |
| | | const { menulist } = this.props |
| | | const { lang, dicts } = this.state |
| | | const { dicts } = this.state |
| | | |
| | | let _param = { |
| | | func: 'sPC_Get_LongParam', |
| | | MenuID: menu.value, |
| | | lang: lang |
| | | lang: 'zh-CN' |
| | | } |
| | | |
| | | let creat = true |
| | |
| | | // md5("/ws/location/v1/ip?callback=callbackFunction&key=key&output=jsonp secret key") |
| | | // md5("/ws/location/v1/ip?callback=callbackFunction&key=BA7BZ-4QB65-LFCIA-QPDA6-4G6O7-MJB4Q&output=jsonpuThL4ZM3XOj642ksEQh76tyHFjh4") |
| | | |
| | | sessionStorage.removeItem('subLangList') |
| | | sessionStorage.removeItem('langList') |
| | | |
| | | setTimeout(() => { |
| | |
| | | } |
| | | |
| | | if (res.lang_data && res.lang_data.length > 1 && window.GLOB.systemType !== 'production') { |
| | | let list = res.lang_data.map(item => item.Lang) |
| | | let lang = 'zh-CN' |
| | | if (window.GLOB.defLang && list.includes(window.GLOB.defLang)) { |
| | | lang = window.GLOB.defLang |
| | | } |
| | | |
| | | if (list.includes(lang)) { |
| | | list = [lang, ...list.filter(item => item !== lang)] |
| | | if (lang === sessionStorage.getItem('lang')) { |
| | | sessionStorage.setItem('langList', JSON.stringify(list)) |
| | | } else { |
| | | sessionStorage.setItem('subLangList', JSON.stringify(list)) |
| | | } |
| | | } |
| | | let list = res.lang_data.map(item => item.Lang).filter(n => n !== 'zh-CN') |
| | | sessionStorage.setItem('langList', JSON.stringify(list)) |
| | | } |
| | | |
| | | if (res.lang_data.length === 1 && res.lang_data[0].Lang !== sessionStorage.getItem('lang')) { |
| | |
| | | </Form.Item> |
| | | </Col> : null} |
| | | <Col span={24}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="启用时,在菜单完成数据加载后自动触发打印预览。"> |
| | | <QuestionCircleOutlined className="mk-form-tip" /> |
| | | 自动打印 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('autoExec', { |
| | | initialValue: config.autoExec || 'false' |
| | | })( |
| | | <Radio.Group onChange={(e) => this.selectChange('autoExec', e.target.value)}> |
| | | <Radio value="false">不启用</Radio> |
| | | <Radio value="true">启用</Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | {config.autoExec === 'true' ? <Col span={24}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="自动触发打印预览的延迟时间,单位毫秒。"> |
| | | <QuestionCircleOutlined className="mk-form-tip" /> |
| | | 延迟时间 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('autoExecSplit', { |
| | | initialValue: config.autoExecSplit || 500 |
| | | })(<InputNumber min={1} max={9999} precision={0} onChange={(val) => this.selectChange('autoExecSplit', val)}/>)} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | <Col span={24}> |
| | | <Form.Item label="回调"> |
| | | {getFieldDecorator('callback', { |
| | | initialValue: config.callback || 'false' |