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