From 2dc0ff994bb96eacc472442fde6cfb38b05959e9 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 07 五月 2022 17:29:13 +0800
Subject: [PATCH] 2022-05-07

---
 src/menu/popview/index.jsx |   38 +++++++++++++++++++++++++++++++++++---
 1 files changed, 35 insertions(+), 3 deletions(-)

diff --git a/src/menu/popview/index.jsx b/src/menu/popview/index.jsx
index e820385..487b78a 100644
--- a/src/menu/popview/index.jsx
+++ b/src/menu/popview/index.jsx
@@ -237,7 +237,7 @@
     })
   }
 
-  getMenuMessage = () => {
+  getMenuMessage = (delButtons) => {
     const { config } = this.state
     let buttons = []
     let _sort = 1
@@ -252,6 +252,10 @@
           traversal(item.components)
         } else if (item.type === 'card' || (item.type === 'table' && item.subtype === 'tablecard')) {
           item.action && item.action.forEach(btn => {
+            if (btn.hidden === 'true') {
+              delButtons.push(btn.uuid)
+              return
+            }
             this.checkBtn(btn)
             buttons.push(`select '${btn.uuid}' as menuid, '${item.name + '-' + btn.label}' as menuname, '${_sort * 10}' as Sort`)
             _sort++
@@ -259,12 +263,20 @@
           item.subcards && item.subcards.forEach(card => {
             card.elements && card.elements.forEach(cell => {
               if (cell.eleType !== 'button') return
+              if (cell.hidden === 'true') {
+                delButtons.push(cell.uuid)
+                return
+              }
               this.checkBtn(cell)
               buttons.push(`select '${cell.uuid}' as menuid, '${item.name + '-' + cell.label}' as menuname, '${_sort * 10}' as Sort`)
               _sort++
             })
             card.backElements && card.backElements.forEach(cell => {
               if (cell.eleType !== 'button') return
+              if (cell.hidden === 'true') {
+                delButtons.push(cell.uuid)
+                return
+              }
               this.checkBtn(cell)
               buttons.push(`select '${cell.uuid}' as menuid, '${item.name + '-' + cell.label}' as menuname, '${_sort * 10}' as Sort`)
               _sort++
@@ -274,6 +286,10 @@
           item.subcards.forEach(card => {
             card.elements && card.elements.forEach(cell => {
               if (cell.eleType !== 'button') return
+              if (cell.hidden === 'true') {
+                delButtons.push(cell.uuid)
+                return
+              }
               this.checkBtn(cell)
               buttons.push(`select '${cell.uuid}' as menuid, '${item.name + '-' + cell.label}' as menuname, '${_sort * 10}' as Sort`)
               _sort++
@@ -282,18 +298,30 @@
         } else if (item.type === 'balcony') {
           item.elements && item.elements.forEach(cell => {
             if (cell.eleType !== 'button') return
+            if (cell.hidden === 'true') {
+              delButtons.push(cell.uuid)
+              return
+            }
             this.checkBtn(cell)
             buttons.push(`select '${cell.uuid}' as menuid, '${item.name + '-' + cell.label}' as menuname, '${_sort * 10}' as Sort`)
             _sort++
           })
         } else if (item.type === 'line' || item.type === 'bar' || item.type === 'chart') {
           item.action && item.action.forEach(btn => {
+            if (btn.hidden === 'true') {
+              delButtons.push(btn.uuid)
+              return
+            }
             this.checkBtn(btn)
             buttons.push(`select '${btn.uuid}' as menuid, '${item.name + '-' + btn.label}' as menuname, '${_sort * 10}' as Sort`)
             _sort++
           })
         } else if (item.type === 'table' && (item.subtype === 'normaltable' || item.subtype === 'editable')) {
           item.action && item.action.forEach(btn => {
+            if (btn.hidden === 'true') {
+              delButtons.push(btn.uuid)
+              return
+            }
             this.checkBtn(btn)
             buttons.push(`select '${btn.uuid}' as menuid, '${item.name + '-' + btn.label}' as menuname, '${_sort * 10}' as Sort`)
             _sort++
@@ -301,6 +329,10 @@
           item.cols && item.cols.forEach(col => {
             if (col.type !== 'action') return
             col.elements.forEach(btn => {
+              if (btn.hidden === 'true') {
+                delButtons.push(btn.uuid)
+                return
+              }
               this.checkBtn(btn)
               buttons.push(`select '${btn.uuid}' as menuid, '${item.name + '-' + btn.label}' as menuname, '${_sort * 10}' as Sort`)
               _sort++
@@ -354,7 +386,6 @@
 
   submitConfig = () => {
     const { btn } = this.props
-    const { delButtons } = this.state
     let config = fromJS(this.state.config).toJS()
 
     if ((config.cacheUseful === 'true' && !config.cacheTime) || !config.MenuNo || !config.MenuName) {
@@ -402,13 +433,14 @@
         LText: []
       }
 
+      let delButtons = fromJS(this.state.delButtons).toJS()
       if (sessionStorage.getItem('appType') === 'pc') {
         param.TypeCharOne = sessionStorage.getItem('kei_no')
         param.Typename = 'pc'
 
         btnParam.LText = ''
       } else {
-        btnParam.LText = this.getMenuMessage()
+        btnParam.LText = this.getMenuMessage(delButtons)
         btnParam.LText = btnParam.LText.join(' union all ')
         btnParam.LText = Utils.formatOptions(btnParam.LText)
         btnParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')

--
Gitblit v1.8.0