From fa381753ef2a2b25b1c0722549ac17e333da79be Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 06 九月 2022 22:50:54 +0800
Subject: [PATCH] 2022-09-06

---
 src/tabviews/custom/index.jsx |  434 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 314 insertions(+), 120 deletions(-)

diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx
index f3d603c..abe3ac2 100644
--- a/src/tabviews/custom/index.jsx
+++ b/src/tabviews/custom/index.jsx
@@ -23,7 +23,8 @@
 const AntvScatter = asyncComponent(() => import('./components/chart/antv-scatter'))
 const DataCard = asyncComponent(() => import('./components/card/data-card'))
 const PropCard = asyncComponent(() => import('./components/card/prop-card'))
-const NormalForm = asyncComponent(() => import('./components/form/normal-form'))
+const SimpleForm = asyncComponent(() => import('./components/form/simple-form'))
+const StepForm = asyncComponent(() => import('./components/form/step-form'))
 const TabForm = asyncComponent(() => import('./components/form/tab-form'))
 const CarouselDataCard = asyncComponent(() => import('./components/carousel/data-card'))
 const CarouselPropCard = asyncComponent(() => import('./components/carousel/prop-card'))
@@ -72,11 +73,11 @@
    * @description 鑾峰彇椤甸潰閰嶇疆淇℃伅
    */
   async loadconfig () {
-    const { permAction, param } = this.props
+    const { permAction, MenuID } = this.props
 
     let _param = {
       func: 'sPC_Get_LongParam',
-      MenuID: this.props.MenuID
+      MenuID: MenuID
     }
     let result = await Api.getCacheConfig(_param)
 
@@ -92,7 +93,7 @@
       }
 
       // HS涓嶄娇鐢ㄨ嚜瀹氫箟璁剧疆
-      if (result.LongParamUser && this.props.menuType !== 'HS') {
+      if (result.LongParamUser && !window.GLOB.mkHS) {
         try { // 閰嶇疆淇℃伅瑙f瀽
           let userConfig = JSON.parse(window.decodeURIComponent(window.atob(result.LongParamUser)))
           if (userConfig) {
@@ -136,8 +137,12 @@
       // 鏉冮檺杩囨护
       let roleId = sessionStorage.getItem('role_id') || '' // 瑙掕壊ID
       let balMap = new Map()
-      let skip = config.permission === 'false' || this.props.menuType === 'HS'
-      config.components = this.filterComponent(config.components, roleId, permAction, balMap, skip)
+      let skip = config.permission === 'false' || window.GLOB.mkHS
+      let param = this.props.param || {} // url鍙傛暟
+
+      window.GLOB.CacheData.set(MenuID, param)
+
+      config.components = this.filterComponent(config.components, roleId, permAction, balMap, skip, param, MenuID)
       
       // 鑾峰彇涓绘悳绱㈡潯浠�
       let mainSearch = []
@@ -146,7 +151,7 @@
 
         component.search = component.search.map(item => {
           item.oriInitval = item.initval
-          if (['text', 'select', 'link'].includes(item.type) && param && param.$searchkey === item.field) {
+          if (['text', 'select', 'link'].includes(item.type) && param.$searchkey === item.field) {
             item.initval = param.$searchval
           }
 
@@ -157,7 +162,7 @@
       })
 
       let params = []
-      let BID = param && param.$BID ? param.$BID : ''
+      let BID = param.$BID || ''
       let inherit = {}
 
       if (config.cacheUseful === 'true') { // 缂撳瓨缁ф壙
@@ -168,7 +173,6 @@
 
       let userName = sessionStorage.getItem('User_Name') || ''
       let fullName = sessionStorage.getItem('Full_Name') || ''
-      let city = sessionStorage.getItem('city') || ''
 
       if (sessionStorage.getItem('isEditState') === 'true') {
         userName = sessionStorage.getItem('CloudUserName') || ''
@@ -177,8 +181,7 @@
 
       let regs = [
         { reg: /@userName@/ig, value: `'${userName}'` },
-        { reg: /@fullName@/ig, value: `'${fullName}'` },
-        { reg: /@login_city@/ig, value: `'${city}'` }
+        { reg: /@fullName@/ig, value: `'${fullName}'` }
       ]
       
       if (window.GLOB.externalDatabase !== null) {
@@ -189,7 +192,7 @@
       }
       if (config.urlFields) {
         config.urlFields.forEach(field => {
-          let val = `'${param ? (param[field] || '') : ''}'`
+          let val = `'${param[field] || ''}'`
           regs.push({
             reg: new RegExp('@' + field + '@', 'ig'),
             value: val
@@ -304,7 +307,7 @@
 
   loadOutResource = (inters) => {
     let setting = inters.shift()
-    let param = UtilsDM.getPrevQueryParams(setting, [], this.state.BID, this.props.menuType)
+    let param = UtilsDM.getPrevQueryParams(setting, [], this.state.BID)
 
     Api.genericInterface(param).then(res => {
       if (res.status) {
@@ -405,15 +408,7 @@
       `))
       sql = sql.join('')
       
-      param = UtilsDM.getCallBackQueryParams(setting, sql, errSql)
-
-      if (this.state.BID) {
-        param.BID = this.state.BID
-      }
-
-      if (this.props.menuType === 'HS') { // 鍑芥暟 sPC_TableData_InUpDe 浜戠楠岃瘉
-        param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp)
-      }
+      param = UtilsDM.getCallBackQueryParams(setting, sql, errSql, this.state.BID)
     } else {
       param.func = 's_ex_result_back'
       param.s_ex_result = lines.map((item, index) => ({
@@ -450,8 +445,9 @@
     })
   }
 
-  filterComponent = (components, roleId, permAction, balMap, skip) => {
+  filterComponent = (components, roleId, permAction, balMap, skip, urlparam, pageId) => {
     return components.filter(item => {
+      item.$pageId = pageId
       
       if (item.style && item.style.boxShadow) {
         delete item.style.hShadow
@@ -482,22 +478,64 @@
           return true
         })
 
+        if (item.setting.supModule) {
+          let pid = item.setting.supModule.pop()
+          item.setting.supModule = pid || ''
+
+          if (item.setting.supModule) {
+            item.setting.controlField = item.setting.controlField.toLowerCase()
+  
+            if (item.setting.supModule === 'preview') {
+              item.setting.supModule = ''
+              let val = ''
+              Object.keys(urlparam).forEach(key => {
+                if (key.toLowerCase() === item.setting.controlField) {
+                  val = urlparam[key]
+                }
+              })
+  
+              item.subtabs = item.subtabs.filter(tab => {
+                if (tab.controlVal === val) {
+                  return false
+                } else if (/,/ig.test(tab.controlVal)) {
+                  return !tab.controlVal.split(',').includes(val)
+                }
+      
+                return true
+              })
+            }
+          }
+        }
+
+        if (item.setting.selectField) {
+          item.setting.selectField = item.setting.selectField.toLowerCase()
+
+          let val = ''
+          Object.keys(urlparam).forEach(key => {
+            if (key.toLowerCase() === item.setting.selectField) {
+              val = urlparam[key]
+            }
+          })
+
+          let activeKey = ''
+
+          item.subtabs.forEach(tab => {
+            if (!activeKey && tab.selectVal === val) {
+              activeKey = tab.uuid
+            }
+          })
+
+          item.activeKey = activeKey
+        }
+
         item.subtabs = item.subtabs.map(tab => {
-          tab.components = this.filterComponent(tab.components, roleId, permAction, balMap, skip)
+          tab.$pageId = pageId
+
+          tab.components = this.filterComponent(tab.components, roleId, permAction, balMap, skip, urlparam, pageId)
           return tab
         })
 
-        let supIds = []
-        item.subtabs.forEach(tab => {
-          tab.components.forEach(comp => {
-            if (comp.type === 'tabs' && comp.parentIds) {
-              supIds.push(...comp.parentIds)
-            } else if (comp.setting && comp.setting.supModule) {
-              supIds.push(comp.setting.supModule)
-            }
-          })
-        })
-        item.parentIds = supIds
+        return true
       } else if (item.type === 'group') {
         if (
           item.setting.blacklist && item.setting.blacklist.length > 0 &&
@@ -506,7 +544,9 @@
           return false
         }
 
-        item.components = this.filterComponent(item.components, roleId, permAction, balMap, skip)
+        item.components = this.filterComponent(item.components, roleId, permAction, balMap, skip, urlparam, pageId)
+
+        return true
       } else if (['pie', 'bar', 'line', 'dashboard', 'scatter', 'chart'].includes(item.type)) {
         if (
           item.plot.blacklist && item.plot.blacklist.length > 0 &&
@@ -520,23 +560,6 @@
           item.wrap.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0
         ) {
           return false
-        }
-      }
-
-      if (item.wrap && item.wrap.supType === 'multi') { // 鏁版嵁鍗″涓婄骇缁勪欢
-        if (item.supNodes && item.supNodes[0]) {
-          item.setting.supModule = item.supNodes[0].componentId
-        } else {
-          item.wrap.supType = 'single'
-          item.supNodes = null
-          item.setting.supModule = ''
-        }
-      } else if (item.setting && item.setting.supModule) {
-        let pid = item.setting.supModule.pop()
-        if (pid && pid !== 'empty') {
-          item.setting.supModule = pid
-        } else {
-          item.setting.supModule = ''
         }
       }
 
@@ -558,8 +581,16 @@
             } else if (col.blacklist && col.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
               col.Hide = 'true'
             }
-            if (col.type === 'number' && col.sum === 'true' && !statFields.includes(col.field)) {
-              statFields.push(col)
+            if (col.type === 'number') {
+              if (col.sum === 'true' && !statFields.includes(col.field)) {
+                statFields.push(col)
+              }
+              if (typeof(col.decimal) === 'number') {
+                col.round = Math.pow(10, col.decimal)
+                if (col.format === 'percent') {
+                  col.decimal = col.decimal > 2 ? col.decimal - 2 : 0
+                }
+              }
             } else if (col.type === 'colspan') {
               col.subcols = getCols(col.subcols || [])
               if (col.subcols.length === 0) {
@@ -567,8 +598,28 @@
               }
             } else if (col.type === 'custom') {
               col.elements = col.elements.map(cell => {
-                if (['text', 'number', 'link'].includes(cell.eleType) && !cell.height) {
-                  cell.innerHeight = 'auto'
+                if (['text', 'number', 'formula'].includes(cell.eleType)) {
+                  if (!cell.height) {
+                    cell.innerHeight = 'auto'
+                  }
+                  if (cell.eleType === 'number' && typeof(cell.decimal) === 'number') {
+                    cell.round = Math.pow(10, cell.decimal)
+                    if (cell.format === 'percent') {
+                      cell.decimal = cell.decimal > 2 ? cell.decimal - 2 : 0
+                    }
+                  }
+                } else if (cell.eleType === 'icon') {
+                  let fontSize = 14
+                  let lineHeight = 1.5
+            
+                  if (cell.style.fontSize) {
+                    fontSize = parseInt(cell.style.fontSize)
+                  }
+                  if (cell.style.lineHeight) {
+                    lineHeight = parseFloat(cell.style.lineHeight)
+                  }
+            
+                  cell.innerHeight = fontSize * lineHeight
                 }
                 return cell
               })
@@ -589,6 +640,19 @@
         item.statFields = statFields
       }
 
+      let mutil = false
+      if (item.wrap && item.wrap.supType === 'multi') { // 鏁版嵁鍗″涓婄骇缁勪欢
+        mutil = true
+        item.setting.supModule = item.supNodes[0].componentId
+      } else if (item.setting && item.setting.supModule) {
+        let pid = item.setting.supModule.pop()
+        if (pid && pid !== 'empty') {
+          item.setting.supModule = pid
+        } else {
+          item.setting.supModule = ''
+        }
+      }
+
       // 鏉冮檺杩囨护
       let tabId = this.props.Tab ? this.props.Tab.uuid : '' // 寮圭獥鏍囩鎸夐挳Id
       if (item.action && item.action.length > 0) {
@@ -602,8 +666,9 @@
           cell.$MenuID = this.props.MenuID
           cell.$tabId = tabId
           cell.$view = 'CustomPage'
+          cell.$toolbtn = true
 
-          if (cell.syncComponentId === item.uuid) {
+          if (!mutil && cell.syncComponentId === item.setting.supModule) {
             cell.syncComponentId = ''
           }
 
@@ -622,8 +687,6 @@
 
       if (item.type === 'card') {
         item.subcards && item.subcards.forEach(card => {
-          let _hasheight = card.style.height && card.style.height !== 'auto'
-
           if (card.style.boxShadow) {
             delete card.style.hShadow
             delete card.style.vShadow
@@ -644,7 +707,7 @@
               cell.$tabId = tabId
               cell.$view = 'CustomPage'
 
-              if (cell.syncComponentId === item.uuid) {
+              if (!mutil && cell.syncComponentId === item.setting.supModule) {
                 cell.syncComponentId = ''
               }
 
@@ -655,8 +718,28 @@
                 card.style = card.style || {}
                 card.style = {...card.style, ...card.btnstyle}
               }
-            } else if (['text', 'number', 'link'].includes(cell.eleType) && !cell.height && _hasheight) {
-              cell.innerHeight = 'auto'
+            } else if (['text', 'number', 'formula'].includes(cell.eleType)) {
+              if (!cell.height) {
+                cell.innerHeight = 'auto'
+              }
+              if (cell.eleType === 'number' && typeof(cell.decimal) === 'number') {
+                cell.round = Math.pow(10, cell.decimal)
+                if (cell.format === 'percent') {
+                  cell.decimal = cell.decimal > 2 ? cell.decimal - 2 : 0
+                }
+              }
+            } else if (cell.eleType === 'icon') {
+              let fontSize = 14
+              let lineHeight = 1.5
+        
+              if (cell.style.fontSize) {
+                fontSize = parseInt(cell.style.fontSize)
+              }
+              if (cell.style.lineHeight) {
+                lineHeight = parseFloat(cell.style.lineHeight)
+              }
+        
+              cell.innerHeight = fontSize * lineHeight
             }
 
             return cell.eleType !== 'button' || skip || permAction[cell.uuid]
@@ -674,7 +757,7 @@
               cell.$tabId = tabId
               cell.$view = 'CustomPage'
 
-              if (cell.syncComponentId === item.uuid) {
+              if (!mutil && cell.syncComponentId === item.setting.supModule) {
                 cell.syncComponentId = ''
               }
 
@@ -685,9 +768,30 @@
                 card.style = card.style || {}
                 card.style = {...card.style, ...card.btnstyle}
               }
-            } else if (['text', 'number', 'link'].includes(cell.eleType) && !cell.height && _hasheight) {
-              cell.innerHeight = 'auto'
+            } else if (['text', 'number', 'formula'].includes(cell.eleType)) {
+              if (!cell.height) {
+                cell.innerHeight = 'auto'
+              }
+              if (cell.eleType === 'number' && typeof(cell.decimal) === 'number') {
+                cell.round = Math.pow(10, cell.decimal)
+                if (cell.format === 'percent') {
+                  cell.decimal = cell.decimal > 2 ? cell.decimal - 2 : 0
+                }
+              }
+            } else if (cell.eleType === 'icon') {
+              let fontSize = 14
+              let lineHeight = 1.5
+        
+              if (cell.style.fontSize) {
+                fontSize = parseInt(cell.style.fontSize)
+              }
+              if (cell.style.lineHeight) {
+                lineHeight = parseFloat(cell.style.lineHeight)
+              }
+        
+              cell.innerHeight = fontSize * lineHeight
             }
+            
             return cell.eleType !== 'button' || skip || permAction[cell.uuid]
           })
         })
@@ -695,6 +799,9 @@
         if (item.wrap.linkType === 'sync') {
           item.wrap.syncModuleId = item.wrap.syncModule.pop()
           balMap.set(item.wrap.syncModuleId, true)
+        } else if (item.wrap.linkType === 'sup') {
+          item.wrap.supModule = item.wrap.supModule.pop()
+          item.setting.supModule = item.wrap.supModule
         }
         item.elements = item.elements.filter(cell => {
           if (cell.eleType === 'button') {
@@ -708,22 +815,41 @@
             cell.$tabId = tabId
             cell.$view = 'CustomPage'
 
-            if (cell.syncComponentId === item.uuid) {
+            if (cell.syncComponentId === item.wrap.supModule) {
               cell.syncComponentId = ''
             }
 
             if (cell.OpenType === 'funcbutton' && cell.funcType === 'print' && cell.verify) { // 鎵撳嵃鏈鸿缃�
               cell = this.getPrinter(cell, item.uuid)
             }
-          } else if (['text', 'number', 'link'].includes(cell.eleType) && !cell.height) {
-            cell.innerHeight = 'auto'
+          } else if (['text', 'number', 'formula'].includes(cell.eleType)) {
+            if (!cell.height) {
+              cell.innerHeight = 'auto'
+            }
+            if (cell.eleType === 'number' && typeof(cell.decimal) === 'number') {
+              cell.round = Math.pow(10, cell.decimal)
+              if (cell.format === 'percent') {
+                cell.decimal = cell.decimal > 2 ? cell.decimal - 2 : 0
+              }
+            }
+          } else if (cell.eleType === 'icon') {
+            let fontSize = 14
+            let lineHeight = 1.5
+      
+            if (cell.style.fontSize) {
+              fontSize = parseInt(cell.style.fontSize)
+            }
+            if (cell.style.lineHeight) {
+              lineHeight = parseFloat(cell.style.lineHeight)
+            }
+      
+            cell.innerHeight = fontSize * lineHeight
           }
 
           return cell.eleType !== 'button' || skip || permAction[cell.uuid]
         })
       } else if ((item.type === 'table' && item.subtype === 'tablecard') || item.type === 'carousel' || item.type === 'timeline') {
         item.subcards && item.subcards.forEach(card => {
-          let _hasheight = card.style.height && card.style.height !== 'auto'
           card.elements = card.elements.filter(cell => {
             if (cell.eleType === 'button') {
               if (cell.hidden === 'true') return false
@@ -737,7 +863,7 @@
               cell.$tabId = tabId
               cell.$view = 'CustomPage'
 
-              if (cell.syncComponentId === item.uuid) {
+              if (cell.syncComponentId === item.setting.supModule) {
                 cell.syncComponentId = ''
               }
 
@@ -748,8 +874,28 @@
                 card.style = card.style || {}
                 card.style = {...card.style, ...card.btnstyle}
               }
-            } else if (['text', 'number', 'link'].includes(cell.eleType) && !cell.height && _hasheight) {
-              cell.innerHeight = 'auto'
+            } else if (['text', 'number', 'formula'].includes(cell.eleType)) {
+              if (!cell.height) {
+                cell.innerHeight = 'auto'
+              }
+              if (cell.eleType === 'number' && typeof(cell.decimal) === 'number') {
+                cell.round = Math.pow(10, cell.decimal)
+                if (cell.format === 'percent') {
+                  cell.decimal = cell.decimal > 2 ? cell.decimal - 2 : 0
+                }
+              }
+            } else if (cell.eleType === 'icon') {
+              let fontSize = 14
+              let lineHeight = 1.5
+        
+              if (cell.style.fontSize) {
+                fontSize = parseInt(cell.style.fontSize)
+              }
+              if (cell.style.lineHeight) {
+                lineHeight = parseFloat(cell.style.lineHeight)
+              }
+        
+              cell.innerHeight = fontSize * lineHeight
             }
             return cell.eleType !== 'button' || skip || permAction[cell.uuid]
           })
@@ -769,7 +915,7 @@
             cell.$tabId = tabId
             cell.$view = 'CustomPage'
 
-            if (cell.syncComponentId === item.uuid) {
+            if (cell.syncComponentId === item.setting.supModule) {
               cell.syncComponentId = ''
             }
 
@@ -791,14 +937,47 @@
           item.submit.logLabel = item.$menuname + '-鎻愪氦'
           item.submit.$menuId = item.uuid
         }
-      }
+      } else if (item.type === 'form') {
+        item.subcards = item.subcards.map(group => {
+          group.subButton.uuid = group.uuid
+          group.subButton.$menuId = group.uuid
+          // group.subButton.$forbid = true // 涓嶅0鏄庢暟鎹簮鍙橀噺
+          group.subButton.OpenType = 'formSubmit'
+          group.subButton.execError = 'never'
+          group.subButton.logLabel = item.$menuname + '-' + group.subButton.label
 
-      // if (item.wrap && item.wrap.doubleClick) {
-      //   let index = item.action.findIndex((btn) => btn.uuid === item.wrap.doubleClick)
-      //   if (index === -1) {
-      //     item.wrap.doubleClick = ''
-      //   }
-      // }
+          if (!group.subButton.Ot) {
+            group.subButton.Ot = item.wrap.datatype === 'static' ? 'notRequired' : 'requiredSgl'
+          }
+
+          group.subButton.syncComponentId = group.subButton.syncComponent ? group.subButton.syncComponent.pop() : ''
+
+          if (group.subButton.syncComponentId === item.setting.supModule) {
+            group.subButton.syncComponentId = ''
+          }
+
+          group.fields = group.fields.map(cell => {
+            // 鏁版嵁婧恠ql璇彞锛岄澶勭悊锛屾潈闄愰粦鍚嶅崟瀛楁璁剧疆涓洪殣钘忚〃鍗�
+            if (['select', 'link', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(cell.type) && cell.resourceType === '1') {
+              let _option = Utils.getSelectQueryOptions(cell)
+      
+              cell.data_sql = Utils.formatOptions(_option.sql)
+              cell.base_sql = window.btoa(window.encodeURIComponent(_option.sql))
+              cell.arr_field = _option.field
+            }
+      
+            // 瀛楁鏉冮檺榛戝悕鍗�
+            if (!cell.blacklist || !roleId || cell.blacklist.length === 0) return cell
+            if (cell.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
+              cell.hidden = 'true'
+            }
+      
+            return cell
+          })
+
+          return group
+        })
+      }
       
       return true
     })
@@ -917,13 +1096,13 @@
       }
   
       if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
-        component.setting.dataresource = component.setting.dataresource.replace(/\$@/ig, '/*')
+        component.setting.dataresource = component.setting.dataresource.replace(/\$@/ig, '/*').replace(/@datam@/ig, 'Y')
         component.setting.dataresource = component.setting.dataresource.replace(/@\$/ig, '*/')
-        _customScript = _customScript.replace(/\$@/ig, '/*')
+        _customScript = _customScript.replace(/\$@/ig, '/*').replace(/@datam@/ig, 'Y')
         _customScript = _customScript.replace(/@\$/ig, '*/')
       } else {
-        component.setting.dataresource = component.setting.dataresource.replace(/@\$|\$@/ig, '')
-        _customScript = _customScript.replace(/@\$|\$@/ig, '')
+        component.setting.dataresource = component.setting.dataresource.replace(/@\$|\$@/ig, '').replace(/@datam@/ig, '')
+        _customScript = _customScript.replace(/@\$|\$@/ig, '').replace(/@datam@/ig, '')
       }
 
       regs.forEach(cell => {
@@ -975,11 +1154,11 @@
    * @description 涓昏〃鏁版嵁鍔犺浇
    */ 
   loadmaindata = (params) => {
-    let param = getStructuredParams(params, this.state.config, this.state.BID)
+    let param = getStructuredParams(params, this.state.config, this.state.BID || '')
 
     this.setState({loading: true, loadingview: false})
 
-    Api.getLocalConfig(param).then(result => {
+    Api.genericInterface(param).then(result => {
       if (result.status) {
         delete result.status
         delete result.message
@@ -1043,6 +1222,23 @@
     }
     MKEmitter.removeListener('reloadMenuView', this.reloadMenuView)
     MKEmitter.removeListener('resetActiveMenu', this.resetActiveMenu)
+
+    window.GLOB.CacheData.delete(this.props.MenuID)
+    this.deleteCache(this.state.config.components)
+  }
+
+  deleteCache = (components) => {
+    components.forEach(item => {
+      if (item.type === 'tabs') {
+        item.subtabs.forEach(tab => {
+          this.deleteCache(tab.components)
+        })
+      } else if (item.type === 'group') {
+        this.deleteCache(item.components)
+      } else {
+        window.GLOB.CacheData.delete(item.uuid)
+      }
+    })
   }
 
   reloadview = () => {
@@ -1066,153 +1262,153 @@
   }
 
   getComponents = () => {
-    const { menuType } = this.props
     const { config, BID, data, mainSearch } = this.state
 
     if (!config || !config.components) return
 
     return config.components.map(item => {
-      let _bid = BID
-      if (item.setting && item.setting.supModule) {
-        _bid = ''
-      }
-
       if (item.type === 'bar' || item.type === 'line') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <AntvBarAndLine config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <AntvBarAndLine config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'pie') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <AntvPie config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <AntvPie config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'scatter') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <AntvScatter config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <AntvScatter config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'dashboard') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <AntvDashboard config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <AntvDashboard config={item} data={data} mainSearch={mainSearch}/>
+          </Col>
+        )
+      } else if (item.type === 'form' && item.subtype === 'simpleform') {
+        return (
+          <Col span={item.width} key={item.uuid}>
+            <SimpleForm config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'form' && item.subtype === 'stepform') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <NormalForm config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <StepForm config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'form' && item.subtype === 'tabform') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <TabForm config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <TabForm config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'search') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <MainSearch config={item} BID={BID} menuType={menuType} refreshdata={this.resetSearch} />
+            <MainSearch config={item} BID={BID} refreshdata={this.resetSearch} />
           </Col>
         )
       } else if (item.type === 'tabs') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <AntvTabs config={item} BID={BID} mainSearch={mainSearch} />
+            <AntvTabs config={item} mainSearch={mainSearch} />
           </Col>
         )
       } else if (item.type === 'card' && item.subtype === 'datacard') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <DataCard config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <DataCard config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'card' && item.subtype === 'propcard') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <PropCard config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <PropCard config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'balcony') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <Balcony config={item} data={data} BID={_bid} menuType={menuType} />
+            <Balcony config={item} data={data}/>
           </Col>
         )
       } else if (item.type === 'timeline') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <TimeLine config={item} data={data} BID={_bid} menuType={menuType} />
+            <TimeLine config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'carousel' && item.subtype === 'datacard') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <CarouselDataCard config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <CarouselDataCard config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'carousel' && item.subtype === 'propcard') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <CarouselPropCard config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <CarouselPropCard config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'table' && item.subtype === 'tablecard') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <TableCard config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <TableCard config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'table' && item.subtype === 'normaltable') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <NormalTable config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <NormalTable config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'table' && item.subtype === 'editable') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <EditTable config={item} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <EditTable config={item} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'group' && item.subtype === 'normalgroup') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <NormalGroup config={item} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <NormalGroup config={item} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'editor') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <BraftEditor config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <BraftEditor config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'tree') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <NormalTree config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <NormalTree config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'code') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <SandBox config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <SandBox config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'chart') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <CustomChart config={item} data={data} BID={_bid} mainSearch={mainSearch} menuType={menuType} />
+            <CustomChart config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'module' && item.subtype === 'voucher') {
         return (
           <Col span={item.width} key={item.uuid}>
-            <Voucher config={item} BID={_bid} />
+            <Voucher config={item}/>
           </Col>
         )
       } else {
@@ -1222,15 +1418,14 @@
   }
 
   render() {
-    const { menuType } = this.props
     const { loadingview, viewlost, config, loading, shortcuts } = this.state
 
     return (
       <div className={'custom-page-wrap ' + (loadingview || loading ? 'loading' : '')} id={this.state.ContainerId} style={config ? config.style : null}>
         {(loadingview || loading) ? <Spin className="view-spin" size="large" /> : null}
         <Row className="component-wrap">{this.getComponents()}</Row>
-        {menuType !== 'HS' && window.GLOB.systemType !== 'production' ? <PagemsgComponent menu={{MenuName: this.props.MenuName, MenuNo: this.props.MenuNo}} config={config} dict={this.state.dict} /> : null}
-        {menuType !== 'HS' && shortcuts ? <SettingComponent config={config} dict={this.state.dict} shortcuts={shortcuts} permAction={this.props.permAction}/> : null}
+        {!window.GLOB.mkHS && window.GLOB.systemType !== 'production' ? <PagemsgComponent menu={{MenuName: this.props.MenuName, MenuNo: this.props.MenuNo}} config={config} dict={this.state.dict} /> : null}
+        {!window.GLOB.mkHS && shortcuts ? <SettingComponent config={config} dict={this.state.dict} shortcuts={shortcuts} permAction={this.props.permAction}/> : null}
         {viewlost ? <NotFount msg={this.state.lostmsg} /> : null}
       </div>
     )
@@ -1239,7 +1434,6 @@
 
 const mapStateToProps = (state) => {
   return {
-    menuType: state.editLevel,
     refreshTab: state.refreshTab,
     permAction: state.permAction,
     permMenus: state.permMenus

--
Gitblit v1.8.0