From 78eed586f6a0d15162c89878c53a301e7b142a8a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 10 十月 2022 00:07:06 +0800 Subject: [PATCH] Merge branch 'master' into positec --- src/views/pcdesign/index.jsx | 68 ++++++++++++++++++++++++++++----- 1 files changed, 57 insertions(+), 11 deletions(-) diff --git a/src/views/pcdesign/index.jsx b/src/views/pcdesign/index.jsx index 26c4531..17f63bf 100644 --- a/src/views/pcdesign/index.jsx +++ b/src/views/pcdesign/index.jsx @@ -2,16 +2,17 @@ import { DndProvider } from 'react-dnd' import { withRouter } from 'react-router' import { is, fromJS } from 'immutable' -import moment from 'moment' import HTML5Backend from 'react-dnd-html5-backend' import { ConfigProvider, notification, Modal, Collapse, Switch, Button, message, Spin, Typography } from 'antd' import { DoubleLeftOutlined, DoubleRightOutlined, HomeOutlined, LoginOutlined, RedoOutlined, ArrowLeftOutlined, EyeOutlined, EyeInvisibleOutlined } from '@ant-design/icons' +import moment from 'moment' +import md5 from 'md5' import Api from '@/api' import Utils, { setGLOBFuncs } from '@/utils/utils.js' import zhCN from '@/locales/zh-CN/mob.js' import enUS from '@/locales/en-US/mob.js' -import antdEnUS from 'antd/es/locale/en_US' +// import antdEnUS from 'antd/es/locale/en_US' import antdZhCN from 'antd/es/locale/zh_CN' import MKEmitter from '@/utils/events.js' import MenuUtils from '@/utils/utils-custom.js' @@ -31,6 +32,7 @@ const ViewNodes = asyncComponent(() => import('@/menu/viewnodes')) const SourceWrap = asyncComponent(() => import('@/pc/modulesource')) const Modulecell = asyncComponent(() => import('@/menu/modulecell')) +const TableNodes = asyncComponent(() => import('@/menu/tablenodes')) const CreateView = asyncComponent(() => import('@/pc/createview')) const BgController = asyncComponent(() => import('@/pc/bgcontroller')) const Quotecomponent = asyncComponent(() => import('@/pc/quotecomponent')) @@ -55,7 +57,6 @@ class MenuDesign extends Component { state = { - localedict: sessionStorage.getItem('lang') !== 'en-US' ? antdZhCN : antdEnUS, dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, loading: true, MenuId: '', @@ -91,14 +92,12 @@ if (param.type === 'app') { sessionStorage.setItem('appId', param.ID || '') + sessionStorage.setItem('appName', param.remark || '') sessionStorage.setItem('lang', param.lang || 'zh-CN') sessionStorage.setItem('kei_no', param.kei_no || '') - sessionStorage.setItem('role_type', param.role_type || 'true') - sessionStorage.setItem('login_types', param.login_types || 'false') sessionStorage.setItem('sysBgColor', param.sysBgColor || '#ffffff') this.setState({ - localedict: sessionStorage.getItem('lang') !== 'en-US' ? antdZhCN : antdEnUS, dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS }) this.getAppMessage(param.MenuID) @@ -869,7 +868,7 @@ }) } - getMenuMessage = () => { + getMenuMessage = (tbs) => { const { config } = this.state let nodes = {type: 'view', version: '1.0', key: config.uuid, title: config.MenuName, children: []} let popviews = [] @@ -877,6 +876,10 @@ let traversal = (components) => { let list = [] components.forEach(item => { + if (item.$tables) { + tbs.push(...item.$tables) + } + let m = { key: item.uuid, title: item.name, @@ -1204,11 +1207,50 @@ config.enabled = false } - let roleParam = this.getMenuMessage() + let tbs = [] + let roleParam = this.getMenuMessage(tbs) let subMenus = this.getSubMenus() let menus_used_list = subMenus.map(m => `'${config.uuid}','${config.MenuName || ''}','${config.MenuNo || ''}','${m.MenuID}','${m.MenuName}'`).join(';') menus_used_list = window.btoa(window.encodeURIComponent(menus_used_list || 'del')) + + let arr = [] + tbs = tbs.filter(tb => { + let _tb = tb.toLowerCase() + + if (arr.includes(_tb)) return false + arr.push(_tb) + + return true + }) + tbs.sort() + if (tbs.length && sessionStorage.getItem('mk_tb_names')) { + let names = sessionStorage.getItem('mk_tb_names') + tbs = tbs.filter(tb => names.indexOf(',' + tb.toLowerCase() + ',') > -1) + } + tbs = tbs.map(tb => `'${tb}'`).join(';') + + let key = md5(config.uuid + sessionStorage.getItem('kei_no') + 'pc' + sessionStorage.getItem('lang') + tbs.toLowerCase()) + let url = '' + + if (config.tbkey === key) { + key = '' + } else { + let urlparam = { + type: 'app', + MenuID: config.uuid, + ID: sessionStorage.getItem('appId') || '', + remark: sessionStorage.getItem('appName') || '', + lang: sessionStorage.getItem('lang') || '', + kei_no: sessionStorage.getItem('kei_no') || '', + typename: 'pc', + sysBgColor: sessionStorage.getItem('sysBgColor') || '', + MenuName: config.MenuName || '', + } + + url = window.btoa(window.encodeURIComponent(JSON.stringify(urlparam))) + config.tbkey = key + } let param = { func: 'sPC_TrdMenu_AddUpt', @@ -1227,7 +1269,10 @@ open_edition: config.open_edition, LText: '', LTexttb: '', - menus_used_list + menus_used_list, + debug_md5: key, + debug_url: url, + debug_list: window.btoa(tbs) } param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') @@ -1830,10 +1875,10 @@ } render () { - const { localedict, loading, comloading, activeKey, settingshow, controlshow, dict, MenuId, config, menuloading, customComponents, eyeopen } = this.state + const { loading, comloading, activeKey, settingshow, controlshow, dict, MenuId, config, menuloading, customComponents, eyeopen } = this.state return ( - <ConfigProvider locale={localedict}> + <ConfigProvider locale={antdZhCN}> <div className={'mk-pc-view '} id="mk-pc-design-view"> {loading ? <Spin className="view-spin" size="large" /> : null} <DndProvider backend={HTML5Backend}> @@ -1886,6 +1931,7 @@ <Button className="mk-border-purple" onClick={() => this.setState({eyeopen: !eyeopen})}>{!eyeopen ? <EyeOutlined /> : <EyeInvisibleOutlined />} 缁勪欢鍚�</Button> <CreateView resetmenu={this.getAppMenus} /> <PasteController insert={this.insert} /> + <TableNodes config={config} /> <ViewNodes config={config} MenuId={MenuId}/> <SysInterface config={config} updateConfig={this.updateConfig}/> <PictureController/> -- Gitblit v1.8.0