From a837624af068cb3a3455f66d9932fc1509e37b25 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 10 六月 2025 23:37:34 +0800
Subject: [PATCH] 2025-06-10

---
 src/tabviews/custom/components/table/base-table/index.jsx             |    2 
 src/tabviews/zshare/mutilform/mkSwitch/index.jsx                      |    4 
 src/tabviews/zshare/actionList/popupbutton/index.jsx                  |    2 
 src/tabviews/zshare/topSearch/index.jsx                               |    2 
 src/tabviews/custom/components/card/double-data-card/index.jsx        |    2 
 src/utils/utils-custom.js                                             |   25 +++
 src/menu/components/chart/antv-X6/index.jsx                           |   24 +-
 src/tabviews/zshare/actionList/excelInbutton/index.jsx                |    2 
 src/tabviews/zshare/actionList/exceloutbutton/index.jsx               |    2 
 src/tabviews/custom/popview/index.jsx                                 |    2 
 src/tabviews/zshare/mutilform/mkCheck/index.jsx                       |    4 
 src/tabviews/custom/components/table/edit-table/index.jsx             |    2 
 src/tabviews/zshare/mutilform/mkSelect/index.jsx                      |    4 
 src/api/index.js                                                      |   19 -
 src/tabviews/zshare/mutilform/mkInput/index.jsx                       |    2 
 src/tabviews/custom/components/form/simple-form/index.jsx             |    6 
 src/tabviews/zshare/mutilform/mkVercode/index.jsx                     |    2 
 src/tabviews/zshare/mutilform/mkNumberInput/index.jsx                 |    2 
 src/tabviews/zshare/actionList/normalbutton/index.jsx                 |   26 ++-
 src/tabviews/custom/components/card/data-card/index.jsx               |    2 
 src/utils/utils.js                                                    |    4 
 src/tabviews/custom/components/card/prop-card/index.jsx               |    2 
 src/tabviews/zshare/actionList/tabbutton/index.jsx                    |    4 
 src/tabviews/zshare/actionList/funczip/index.jsx                      |    2 
 src/components/imgScale/index.scss                                    |    4 
 public/manifest.json                                                  |    2 
 src/tabviews/rolemanage/index.jsx                                     |    8 
 src/menu/datasource/verifycard/settingform/index.jsx                  |   17 ++
 src/tabviews/custom/components/table/normal-table/index.jsx           |    2 
 src/tabviews/zshare/actionList/funcMegvii/index.jsx                   |    2 
 src/tabviews/custom/components/table/edit-table/normalTable/index.jsx |    2 
 src/tabviews/zshare/actionList/printbutton/index.jsx                  |    2 
 src/tabviews/zshare/mutilform/mkPopSelect/index.jsx                   |    4 
 src/tabviews/custom/components/chart/antv-X6/index.scss               |    7 
 src/tabviews/zshare/mutilform/index.jsx                               |   11 +
 src/tabviews/custom/components/chart/antv-X6/index.jsx                |  184 ++++++++++++----------
 src/tabviews/custom/index.jsx                                         |    2 
 src/views/login/index.scss                                            |    2 
 src/menu/components/card/prop-card/index.jsx                          |    2 
 src/tabviews/zshare/settingcomponent/editTable/index.jsx              |   16 +-
 src/views/systemfunc/sidemenu/config.jsx                              |   14 
 src/tabviews/zshare/mutilform/mkDatePicker/index.jsx                  |    2 
 src/views/login/index.jsx                                             |    2 
 43 files changed, 255 insertions(+), 178 deletions(-)

diff --git a/public/manifest.json b/public/manifest.json
index 809cb78..2ce0dbe 100644
--- a/public/manifest.json
+++ b/public/manifest.json
@@ -6,5 +6,5 @@
   "display": "standalone",
   "theme_color": "#000000",
   "background_color": "#ffffff",
-  "mk_version": "20250502"
+  "mk_version": "20250605"
 }
diff --git a/src/api/index.js b/src/api/index.js
index adf6deb..373d628 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -156,25 +156,17 @@
   }
 
   /**
-   * @description 浣跨敤dostar鎺ュ彛锛岃烦杩囬獙璇�
-   * @param {Object} param 鏌ヨ鍙婃彁浜ゅ弬鏁�
+   * @description 鑰佺郴缁熺櫥褰�
    */
   loginAndRedirect (param) {
-    let url = ''
-    if (process.env.NODE_ENV === 'production') {
-      url = document.location.origin + '/zh-CN/Home/LoginAndRedirect'
-    } else {
-      url = window.GLOB.location + '/zh-CN/Home/LoginAndRedirect'
-    }
-
     return axios({
-      url: url,
+      url: document.location.origin + '/zh-CN/Home/LoginAndRedirect',
       method: 'post',
       data: qs.stringify(param)
     })
   }
 
-  /* @description 鐩存帴璇锋眰
+  /**
    * @description 寰俊涓氬姟璇锋眰 鍘熸帴鍙� 'wxpay/getaccesstoken'
    */
   // wxAccessToken (appId, domain = '') {
@@ -1145,8 +1137,9 @@
               res.ErrCode = '-2'
               MKEmitter.emit('reloadTabs')
             } else if (res.message === 'permission deny') {
-              res.message = window.GLOB.dict['permission_deny'] || '鏃犲綋鍓嶈彍鍗曟垨鎸夐挳鐨勮闂潈闄愶紝璇疯仈绯荤鐞嗗憳锛�'
-              res.ErrMesg = window.GLOB.dict['permission_deny'] || '鏃犲綋鍓嶈彍鍗曟垨鎸夐挳鐨勮闂潈闄愶紝璇疯仈绯荤鐞嗗憳锛�'
+              let isBtn = url.indexOf('s_TableData_InUpDe') > -1
+              res.message = window.GLOB.dict['permission_deny'] || `鏃犲綋鍓�${isBtn ? '鎸夐挳' : '鑿滃崟'}鐨勮闂潈闄愶紝璇疯仈绯荤鐞嗗憳锛乣
+              res.ErrMesg = res.message
             }
           }
           resolve(res)
diff --git a/src/components/imgScale/index.scss b/src/components/imgScale/index.scss
index 8bc7646..f193b66 100644
--- a/src/components/imgScale/index.scss
+++ b/src/components/imgScale/index.scss
@@ -48,8 +48,8 @@
   overflow: hidden;
 }
 .mk-image-preview-img {
-  max-width: 100%;
-  max-height: 100%;
+  max-width: 95%;
+  max-height: 95%;
   vertical-align: middle;
   -webkit-transform: scale3d(1, 1, 1);
           transform: scale3d(1, 1, 1);
diff --git a/src/menu/components/card/prop-card/index.jsx b/src/menu/components/card/prop-card/index.jsx
index ec54ba9..3fd1c5c 100644
--- a/src/menu/components/card/prop-card/index.jsx
+++ b/src/menu/components/card/prop-card/index.jsx
@@ -403,7 +403,7 @@
             <CopyComponent type="propcard" card={card}/>
             <PasteComponent options={['cardcell']} updateConfig={this.pasteComponent} />
             <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle}/>
-            {card.wrap.datatype === 'dynamic' ? <ClockComponent config={card} updateConfig={this.updateComponent}/> : <ClockCircleOutlined style={{color: '#eeeeee', cursor: 'not-allowed'}}/>}
+            {card.wrap.datatype !== 'public' ? <ClockComponent config={card} updateConfig={this.updateComponent}/> : <ClockCircleOutlined style={{color: '#eeeeee', cursor: 'not-allowed'}}/>}
             <DeleteOutlined className="close" title="鍒犻櫎缁勪欢" onClick={() => this.props.deletecomponent(card.uuid)} />
             {card.wrap.datatype === 'dynamic' ? <SettingComponent config={card} updateConfig={this.updateComponent} /> : <SettingOutlined style={{color: '#eeeeee', cursor: 'not-allowed'}}/>}
           </div>
diff --git a/src/menu/components/chart/antv-X6/index.jsx b/src/menu/components/chart/antv-X6/index.jsx
index 4c5cc7c..b5f7239 100644
--- a/src/menu/components/chart/antv-X6/index.jsx
+++ b/src/menu/components/chart/antv-X6/index.jsx
@@ -68,8 +68,8 @@
   'mk-rect',
   {
     inherit: 'rect',
-    width: 66,
-    height: 36,
+    width: 100,
+    height: 32,
     attrs: {
       body: {
         strokeWidth: 1,
@@ -89,8 +89,8 @@
   'mk-polygon',
   {
     inherit: 'polygon',
-    width: 66,
-    height: 36,
+    width: 100,
+    height: 32,
     attrs: {
       body: {
         strokeWidth: 1,
@@ -110,8 +110,8 @@
   'mk-circle',
   {
     inherit: 'circle',
-    width: 36,
-    height: 36,
+    width: 40,
+    height: 40,
     attrs: {
       body: {
         strokeWidth: 1,
@@ -131,8 +131,8 @@
   'mk-ellipse',
   {
     inherit: 'ellipse',
-    width: 66,
-    height: 36,
+    width: 100,
+    height: 32,
     attrs: {
       body: {
         strokeWidth: 1,
@@ -152,8 +152,8 @@
   'mk-star',
   {
     inherit: 'polygon',
-    width: 36,
-    height: 36,
+    width: 40,
+    height: 40,
     points: '100,10 40,198 190,78 10,78 160,198',
     attrs: {
       body: {
@@ -175,8 +175,8 @@
   'mk-text',
   {
     inherit: 'rect',
-    width: 66,
-    height: 36,
+    width: 100,
+    height: 50,
     attrs: {
       body: {
         strokeWidth: 0,
diff --git a/src/menu/datasource/verifycard/settingform/index.jsx b/src/menu/datasource/verifycard/settingform/index.jsx
index cfb2a37..92b8896 100644
--- a/src/menu/datasource/verifycard/settingform/index.jsx
+++ b/src/menu/datasource/verifycard/settingform/index.jsx
@@ -219,6 +219,7 @@
         sm: { span: 16 }
       }
     }
+    let hasUp = !['balcony', 'menubar', 'commonbar', 'tabbar', 'invTable'].includes(config.subtype) && (!config.wrap || config.wrap.supType !== 'multi') && MenuType !== 'billPrint'
 
     return (
       <div className="model-datasource-setting-form-box">
@@ -474,7 +475,7 @@
                 </Radio.Group>)}
               </Form.Item>
             </Col> : null}
-            {!['balcony', 'menubar', 'commonbar', 'tabbar', 'invTable'].includes(config.subtype) && (!config.wrap || config.wrap.supType !== 'multi') && MenuType !== 'billPrint' ? <Col span={8}>
+            {hasUp ? <Col span={8}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title={'璇ョ粍浠跺鏋滃彈鍏朵粬缁勪欢鎺у埗锛岃閫夐」鐩稿簲鐨勭粍浠讹紝娌℃湁鏃堕�夆�滄棤鈥濄��'}>
                   <QuestionCircleOutlined className="mk-form-tip" />
@@ -737,6 +738,20 @@
                 })(<InputNumber min={0} max={60000} precision={0} />)}
               </Form.Item>
             </Col> : null}
+            {hasUp && setting.supModule && setting.supModule[0] && setting.supModule[0] !== 'empty' ? <Col span={8}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="鏈幏鍙栧埌涓婄骇涓婚敭鍊肩殑鎻愮ず鏂囨湰銆�">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  涓婄骇绌哄�兼彁绀�
+                </Tooltip>
+              }>
+                {getFieldDecorator('supModTip', {
+                  initialValue: setting.supModTip || ''
+                })(
+                  <Input placeholder={''} autoComplete="off" />
+                )}
+              </Form.Item>
+            </Col> : null}
           </Row>
         </Form>
         <Modal
diff --git a/src/tabviews/custom/components/card/data-card/index.jsx b/src/tabviews/custom/components/card/data-card/index.jsx
index 3f04f41..8861386 100644
--- a/src/tabviews/custom/components/card/data-card/index.jsx
+++ b/src/tabviews/custom/components/card/data-card/index.jsx
@@ -1091,7 +1091,7 @@
     if (config.setting.supModule && !BID && config.wrap.supKey !== 'false') {
       notification.warning({
         top: 92,
-        message: window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: config.setting.supModTip || window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       this.setState({
diff --git a/src/tabviews/custom/components/card/double-data-card/index.jsx b/src/tabviews/custom/components/card/double-data-card/index.jsx
index 4fac5cc..3aa3097 100644
--- a/src/tabviews/custom/components/card/double-data-card/index.jsx
+++ b/src/tabviews/custom/components/card/double-data-card/index.jsx
@@ -1002,7 +1002,7 @@
     if (config.setting.supModule && !BID && config.wrap.supKey !== 'false') {
       notification.warning({
         top: 92,
-        message: window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: config.setting.supModTip || window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       this.setState({
diff --git a/src/tabviews/custom/components/card/prop-card/index.jsx b/src/tabviews/custom/components/card/prop-card/index.jsx
index f0bce0e..2c4e2d2 100644
--- a/src/tabviews/custom/components/card/prop-card/index.jsx
+++ b/src/tabviews/custom/components/card/prop-card/index.jsx
@@ -161,7 +161,7 @@
       MKEmitter.addListener('searchRefresh', this.searchRefresh)
     }
 
-    if (config.timer && config.wrap.datatype === 'dynamic') {
+    if (config.timer && config.wrap.datatype !== 'public') {
       this.timer = new TimerTask()
       this.timer.init(config.uuid, config.timer, config.timerRepeats, () => {this.loadData('timer')})
     }
diff --git a/src/tabviews/custom/components/chart/antv-X6/index.jsx b/src/tabviews/custom/components/chart/antv-X6/index.jsx
index a1df8cf..ed4283f 100644
--- a/src/tabviews/custom/components/chart/antv-X6/index.jsx
+++ b/src/tabviews/custom/components/chart/antv-X6/index.jsx
@@ -138,8 +138,8 @@
   'mk-rect',
   {
     inherit: 'rect',
-    width: 66,
-    height: 40,
+    width: 100,
+    height: 32,
     attrs: {
       body: {
         strokeWidth: 1,
@@ -168,8 +168,8 @@
   'mk-polygon',
   {
     inherit: 'polygon',
-    width: 66,
-    height: 40,
+    width: 100,
+    height: 32,
     attrs: {
       body: {
         strokeWidth: 1,
@@ -198,8 +198,8 @@
   'mk-paral',
   {
     inherit: 'polygon',
-    width: 66,
-    height: 40,
+    width: 100,
+    height: 32,
     attrs: {
       body: {
         strokeWidth: 1,
@@ -256,8 +256,8 @@
   'mk-ellipse',
   {
     inherit: 'ellipse',
-    width: 66,
-    height: 40,
+    width: 100,
+    height: 32,
     attrs: {
       body: {
         strokeWidth: 1,
@@ -318,8 +318,8 @@
   'mk-text',
   {
     inherit: 'text-block',
-    width: 66,
-    height: 40,
+    width: 100,
+    height: 50,
     text: '鏂囨湰鍩�',
     attrs: {
       body: {
@@ -900,18 +900,18 @@
     const stencil = new Stencil({
       title: '娴佺▼鍥�',
       target: graph,
-      stencilGraphWidth: 180,
+      stencilGraphWidth: 230,
       stencilGraphHeight: 180,
       groups: [
         {
           title: '閫氱敤鑺傜偣',
           name: 'group1',
-          graphHeight: 240
+          graphHeight: 150
         },
         {
           title: '鑷畾涔�',
           name: 'group2',
-          graphHeight: 150,
+          graphHeight: 300,
           layoutOptions: {
             rowHeight: 70
           }
@@ -919,7 +919,7 @@
       ],
       layoutOptions: {
         columns: 2,
-        columnWidth: 80,
+        columnWidth: 110,
         rowHeight: 55
       }
     })
@@ -1055,10 +1055,10 @@
       mkdata: {status: 0, statusName: '鏈彁浜�'},
       attrs: {
         body: {
-          rx: 20,
-          ry: 26,
-          fill: '#52c41a',
-          stroke: '#52c41a'
+          rx: 0,
+          ry: 0,
+          fill: '#000000',
+          stroke: '#000000'
         },
         text: {
           fill: '#ffffff',
@@ -1066,83 +1066,34 @@
         }
       }
     })
-    const r2 = graph.createNode({
-      shape: 'mk-rect',
-      attrs: {
-        body: {
-          rx: 20,
-          ry: 26,
-          fill: '#e6f4ff',
-          stroke: '#1890ff'
-        },
-        text: {
-          text: '杩囩▼'
-        }
-      }
-    })
-    const r3 = graph.createNode({
-      shape: 'mk-rect',
-      attrs: {
-        body: {
-          rx: 6,
-          ry: 6,
-          fill: '#fff7e6',
-          stroke: '#fa8c16'
-        },
-        text: {
-          text: '鍙�夎繃绋�'
-        }
-      }
-    })
+    
     const r4 = graph.createNode({
       shape: 'mk-rect',
       attrs: {
         body: {
           rx: 0,
           ry: 0,
-          fill: '#fff7e6',
-          stroke: '#fa8c16'
+          fill: '#ffffff',
+          stroke: '#757575'
         },
         text: {
+          fill: '#000000',
           text: '鑺傜偣'
         }
       }
     })
+
     const r5 = graph.createNode({
       shape: 'mk-polygon',
       attrs: {
         body: {
           refPoints: '0,10 10,0 20,10 10,20',
-          fill: '#f9f0ff',
-          stroke: '#722ed1'
+          fill: '#ffffff',
+          stroke: '#757575'
         },
         text: {
+          fill: '#000000',
           text: '鍐崇瓥'
-        }
-      }
-    })
-    const r6 = graph.createNode({
-      shape: 'mk-paral',
-      attrs: {
-        body: {
-          refPoints: '10,0 40,0 30,20 0,20',
-          fill: '#e6fffb',
-          stroke: '#13c2c2'
-        },
-        text: {
-          text: '鏁版嵁'
-        }
-      }
-    })
-    const r7 = graph.createNode({
-      shape: 'mk-circle',
-      attrs: {
-        body: {
-          fill: '#e6f4ff',
-          stroke: '#1890ff'
-        },
-        text: {
-          text: '杩炴帴'
         }
       }
     })
@@ -1153,10 +1104,10 @@
       mkdata: {status: 888, statusName: '宸插畬鎴�'},
       attrs: {
         body: {
-          rx: 20,
-          ry: 26,
-          fill: '#fa8c16',
-          stroke: '#fa8c16'
+          rx: 0,
+          ry: 0,
+          fill: '#000000',
+          stroke: '#000000'
         },
         text: {
           fill: '#ffffff',
@@ -1165,7 +1116,65 @@
       }
     })
     
-    stencil.load([r1, r2, r3, r4, r5, r6, r7, r8], 'group1')
+    stencil.load([r1, r4, r5, r8], 'group1')
+    
+    const r2 = graph.createNode({
+      shape: 'mk-rect',
+      attrs: {
+        body: {
+          rx: 20,
+          ry: 26,
+          fill: '#ffffff',
+          stroke: '#757575'
+        },
+        text: {
+          fill: '#000000',
+          text: '杩囩▼'
+        }
+      }
+    })
+    const r3 = graph.createNode({
+      shape: 'mk-rect',
+      attrs: {
+        body: {
+          rx: 6,
+          ry: 6,
+          fill: '#ffffff',
+          stroke: '#757575'
+        },
+        text: {
+          fill: '#000000',
+          text: '鍙�夎繃绋�'
+        }
+      }
+    })
+    const r6 = graph.createNode({
+      shape: 'mk-paral',
+      attrs: {
+        body: {
+          refPoints: '10,0 40,0 30,20 0,20',
+          fill: '#ffffff',
+          stroke: '#757575'
+        },
+        text: {
+          fill: '#000000',
+          text: '鏁版嵁'
+        }
+      }
+    })
+    const r7 = graph.createNode({
+      shape: 'mk-circle',
+      attrs: {
+        body: {
+          fill: '#ffffff',
+          stroke: '#757575'
+        },
+        text: {
+          fill: '#000000',
+          text: '杩炴帴'
+        }
+      }
+    })
     
     const p1 = graph.createNode({
       shape: 'mk-ellipse',
@@ -1180,7 +1189,7 @@
       shape: 'mk-text'
     })
     
-    stencil.load([p1, p2, p3], 'group2')
+    stencil.load([r2, r3, r6, r7, p1, p2, p3], 'group2')
 
     if (this.cells.length > 0) {
       let cells = []
@@ -1299,7 +1308,7 @@
     const stencil = new Stencil({
       title: '娴佺▼鍥�',
       target: graph,
-      stencilGraphWidth: 180,
+      stencilGraphWidth: 230,
       stencilGraphHeight: 180,
       groups: [
         {
@@ -1325,7 +1334,7 @@
       ],
       layoutOptions: {
         columns: 2,
-        columnWidth: 80,
+        columnWidth: 110,
         rowHeight: 55
       }
     })
@@ -1554,12 +1563,16 @@
   setback = () => {
     if (this.mkGraph.canUndo()) {
       this.mkGraph.undo()
+    } else {
+      message.warning('鏃犲彲鎾ら攢璁板綍锛�')
     }
   }
 
   setprev = () => {
     if (this.mkGraph.canRedo()) {
       this.mkGraph.redo()
+    } else {
+      message.warning('鏃犲彲鍓嶈繘璁板綍锛�')
     }
   }
 
@@ -1737,7 +1750,10 @@
     let cells = this.mkGraph.getCells()
     const that = this
 
-    if (cells.length === 0) return
+    if (cells.length === 0) {
+      message.warning('灏氭湭娣诲姞鍏冪礌锛�')
+      return
+    }
 
     confirm({
       title: '纭畾娓呯┖鍏冪礌鍚�?',
diff --git a/src/tabviews/custom/components/chart/antv-X6/index.scss b/src/tabviews/custom/components/chart/antv-X6/index.scss
index 5fc7c62..d4e81ef 100644
--- a/src/tabviews/custom/components/chart/antv-X6/index.scss
+++ b/src/tabviews/custom/components/chart/antv-X6/index.scss
@@ -86,14 +86,17 @@
     display: flex;
 
     .mk-stencil {
-      width: 180px;
-      min-width: 180px;
+      width: 240px;
+      min-width: 240px;
       height: 100%;
       position: relative;
       z-index: 2;
       border-right: 1px solid #dfe3e8;
       transition: all 0.2s;
 
+      .x6-port {
+        display: none;
+      }
       .x6-widget-stencil-title {
         display: none;
       }
diff --git a/src/tabviews/custom/components/form/simple-form/index.jsx b/src/tabviews/custom/components/form/simple-form/index.jsx
index c3edeff..fc9822d 100644
--- a/src/tabviews/custom/components/form/simple-form/index.jsx
+++ b/src/tabviews/custom/components/form/simple-form/index.jsx
@@ -403,12 +403,12 @@
     }
   }
 
-  mkFormSubmit = (btnId, callback, formId) => {
+  mkFormSubmit = (btnId, callback, formId, errId) => {
     const { group } = this.state
 
     if (group.uuid !== btnId) return
 
-    this.formRef.handleConfirm(formId).then(res => {
+    this.formRef.handleConfirm(formId, errId).then(res => {
       MKEmitter.emit('triggerFormSubmit', {menuId: btnId, form: res})
     }, () => {
       callback && callback()
@@ -460,7 +460,7 @@
           data={data}
           action={group}
           unload={config.setting.supModule && !BID}
-          inputSubmit={(id) => this.mkFormSubmit(group.uuid, null, id)}
+          inputSubmit={(id, errId) => this.mkFormSubmit(group.uuid, null, id, errId)}
           wrappedComponentRef={(inst) => this.formRef = inst}
         /> : null}
         {data ? <div className={'mk-form-action ' + (group.$button || '')}>
diff --git a/src/tabviews/custom/components/table/base-table/index.jsx b/src/tabviews/custom/components/table/base-table/index.jsx
index 0099b1e..4117ef4 100644
--- a/src/tabviews/custom/components/table/base-table/index.jsx
+++ b/src/tabviews/custom/components/table/base-table/index.jsx
@@ -436,7 +436,7 @@
     if (config.setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: config.setting.supModTip || window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       this.setState({
diff --git a/src/tabviews/custom/components/table/edit-table/index.jsx b/src/tabviews/custom/components/table/edit-table/index.jsx
index 1ce2b6a..7f9b250 100644
--- a/src/tabviews/custom/components/table/edit-table/index.jsx
+++ b/src/tabviews/custom/components/table/edit-table/index.jsx
@@ -637,7 +637,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       this.setState({
diff --git a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
index b596c48..8415ed3 100644
--- a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
+++ b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
@@ -2508,7 +2508,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
 
diff --git a/src/tabviews/custom/components/table/normal-table/index.jsx b/src/tabviews/custom/components/table/normal-table/index.jsx
index 2443066..42ec308 100644
--- a/src/tabviews/custom/components/table/normal-table/index.jsx
+++ b/src/tabviews/custom/components/table/normal-table/index.jsx
@@ -901,7 +901,7 @@
     if (setting.supModule && !BID && setting.supKey !== 'false') {
       notification.warning({
         top: 92,
-        message: window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       this.setState({
diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx
index 36e091f..9e84a15 100644
--- a/src/tabviews/custom/index.jsx
+++ b/src/tabviews/custom/index.jsx
@@ -1258,7 +1258,7 @@
       } else if (component.wrap && component.wrap.datatype === 'static') {
         component.format = ''
         component.setting = component.setting || {}
-        component.setting.useMSearch = false
+        component.setting.useMSearch = component.wrap.useMSearch === 'true'
         component.setting.sync = 'false'
 
         return component
diff --git a/src/tabviews/custom/popview/index.jsx b/src/tabviews/custom/popview/index.jsx
index 57a2d3f..f0139d1 100644
--- a/src/tabviews/custom/popview/index.jsx
+++ b/src/tabviews/custom/popview/index.jsx
@@ -905,7 +905,7 @@
       } else if (component.wrap && component.wrap.datatype === 'static') {
         component.format = ''
         component.setting = component.setting || {}
-        component.setting.useMSearch = false
+        component.setting.useMSearch = component.wrap.useMSearch === 'true'
         component.setting.sync = 'false'
 
         return component
diff --git a/src/tabviews/rolemanage/index.jsx b/src/tabviews/rolemanage/index.jsx
index e8b8fa1..c0bf4b9 100644
--- a/src/tabviews/rolemanage/index.jsx
+++ b/src/tabviews/rolemanage/index.jsx
@@ -142,11 +142,11 @@
    * @description 鑾峰彇鎵�鏈夎彍鍗曡妭鐐癸紝褰㈡垚鏉冮檺鏍�
    */
   getAllMenuList = async () => {
-    const { selectRoleId, mainMenus } = this.state
+    const { mainMenus } = this.state
 
     let param = {
       func: 's_rolemenu_get_FunMenu',
-      RoleID: selectRoleId,
+      RoleID: '',
       SelectedType: '',
       version: 1
     }
@@ -186,6 +186,10 @@
         loadingTree: false,
         menuTrees: _tree,
         menuOpenKeys: _openKeys
+      }, () => {
+        if (this.state.selectRoleId) {
+          this.getSelectMenuList()
+        }
       })
     } else {
       this.setState({
diff --git a/src/tabviews/zshare/actionList/excelInbutton/index.jsx b/src/tabviews/zshare/actionList/excelInbutton/index.jsx
index 6c5f1a0..a022b65 100644
--- a/src/tabviews/zshare/actionList/excelInbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/excelInbutton/index.jsx
@@ -121,7 +121,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
     } else if (btn.Ot === 'requiredSgl' && data.length !== 1) {
diff --git a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx
index 36aa1b9..053530d 100644
--- a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx
@@ -102,7 +102,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
     } else {
diff --git a/src/tabviews/zshare/actionList/funcMegvii/index.jsx b/src/tabviews/zshare/actionList/funcMegvii/index.jsx
index 652dc2a..29638b1 100644
--- a/src/tabviews/zshare/actionList/funcMegvii/index.jsx
+++ b/src/tabviews/zshare/actionList/funcMegvii/index.jsx
@@ -122,7 +122,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
     } else if (data.length === 0) {
diff --git a/src/tabviews/zshare/actionList/funczip/index.jsx b/src/tabviews/zshare/actionList/funczip/index.jsx
index 9bee41a..7c36866 100644
--- a/src/tabviews/zshare/actionList/funczip/index.jsx
+++ b/src/tabviews/zshare/actionList/funczip/index.jsx
@@ -113,7 +113,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       return
diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx
index 495d224..6a1abc0 100644
--- a/src/tabviews/zshare/actionList/normalbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -413,7 +413,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       return false
@@ -1533,7 +1533,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       _resolve()
@@ -2682,11 +2682,16 @@
       delete result.message
       delete result.status
 
-      param = {
-        ...outParam,
-        ...result,
-        func: btn.callbackFunc
-      }
+      param = {}
+
+      Object.keys(outParam).forEach(key => {
+        param[key.toLowerCase()] = outParam[key]
+      })
+      Object.keys(result).forEach(key => {
+        param[key.toLowerCase()] = result[key]
+      })
+
+      param.func = btn.callbackFunc
 
       if (window.GLOB.mkHS) {
         if (btn.callbackFunc === 's_sVersion_Local_add' && window.GLOB.forcedUpdate) { // special 浼犺緭鍙锋坊鍔犲洖璋冨鐞�
@@ -3011,6 +3016,7 @@
     if (focusField) {
       MKEmitter.emit('resetFocus', btn.uuid, focusField)
     }
+    window.GLOB.errFocusId = ''
 
     this.setState({
       loadingNumber: '',
@@ -3837,7 +3843,11 @@
       loadingTotal: '',
     })
 
-    if (btnconfig && btnconfig.setting && btnconfig.setting.errFocus) {
+    if (window.GLOB.errFocusId && (btnconfig || btn.OpenType === 'formSubmit')) {
+      MKEmitter.emit('mkFC', 'focus', window.GLOB.errFocusId)
+
+      window.GLOB.errFocusId = ''
+    } else if (btnconfig && btnconfig.setting && btnconfig.setting.errFocus) {
       MKEmitter.emit('mkFC', 'focus', btnconfig.setting.errFocus)
     }
 
diff --git a/src/tabviews/zshare/actionList/popupbutton/index.jsx b/src/tabviews/zshare/actionList/popupbutton/index.jsx
index 9c79b09..71fb054 100644
--- a/src/tabviews/zshare/actionList/popupbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/popupbutton/index.jsx
@@ -155,7 +155,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       return
diff --git a/src/tabviews/zshare/actionList/printbutton/index.jsx b/src/tabviews/zshare/actionList/printbutton/index.jsx
index 5b331b5..8b330d2 100644
--- a/src/tabviews/zshare/actionList/printbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/printbutton/index.jsx
@@ -143,7 +143,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       return
diff --git a/src/tabviews/zshare/actionList/tabbutton/index.jsx b/src/tabviews/zshare/actionList/tabbutton/index.jsx
index 94322e0..d812ec5 100644
--- a/src/tabviews/zshare/actionList/tabbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/tabbutton/index.jsx
@@ -188,7 +188,7 @@
       if (!menu) {
         notification.warning({
           top: 92,
-          message: dict['no_perm'] || '鑿滃崟宸插垹闄ゆ垨娌℃湁璁块棶鏉冮檺锛�',
+          message: dict['no_perm'] || `娌℃湁${btn.MenuName ? `鑿滃崟銆�${btn.MenuName}銆嬬殑` : '姝よ彍鍗曠殑'}璁块棶鏉冮檺锛乣,
           duration: 5
         })
         return
@@ -285,7 +285,7 @@
     if (!menu) {
       notification.warning({
         top: 92,
-        message: dict['no_perm'] || '鑿滃崟宸插垹闄ゆ垨娌℃湁璁块棶鏉冮檺锛�',
+        message: dict['no_perm'] || '娌℃湁姝よ彍鍗曠殑璁块棶鏉冮檺锛�',
         duration: 5
       })
       return
diff --git a/src/tabviews/zshare/mutilform/index.jsx b/src/tabviews/zshare/mutilform/index.jsx
index ce72b24..6c3bdc4 100644
--- a/src/tabviews/zshare/mutilform/index.jsx
+++ b/src/tabviews/zshare/mutilform/index.jsx
@@ -707,6 +707,13 @@
       
       if (item.enter === 'tab' || item.enter === 'sub') {
         item.tabUuid = ''
+        if (item.enter === 'sub' && item.errTabField) {
+          if (item.errTabField === 'origin') {
+            item.errTabUuid = item.uuid
+          } else if (fieldMap.has(item.errTabField)) {
+            item.errTabUuid = fieldMap.get(item.errTabField).uuid
+          }
+        }
         if (item.tabField && fieldMap.has(item.tabField)) {
           item.tabUuid = fieldMap.get(item.tabField).uuid
         } else if (item.enter === 'tab') {
@@ -1561,10 +1568,11 @@
     return fields
   }
 
-  handleConfirm = (formId) => {
+  handleConfirm = (formId, errId) => {
     const { action } = this.props
     const { formlist, send_type, timestamp, n_id } = this.state
 
+    window.GLOB.errFocusId = ''
     // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭�
     return new Promise((resolve, reject) => {
       this.props.form.validateFieldsAndScroll((err, values) => {
@@ -1691,6 +1699,7 @@
         })
 
         this.submitId = formId || ''
+        window.GLOB.errFocusId = errId || ''
 
         if (locals) {
           sessionStorage.setItem('local_' + action.uuid, JSON.stringify(locals))
diff --git a/src/tabviews/zshare/mutilform/mkCheck/index.jsx b/src/tabviews/zshare/mutilform/mkCheck/index.jsx
index b6c3195..0079dd8 100644
--- a/src/tabviews/zshare/mutilform/mkCheck/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkCheck/index.jsx
@@ -30,10 +30,10 @@
         config.tabUuid && MKEmitter.emit('mkFC', 'focus', config.tabUuid)
         if (config.linkFields || config.subFields || config.controlFields) {
           setTimeout(() => {
-            this.props.onSubmit(config.tabUuid)
+            this.props.onSubmit(config.tabUuid, config.errTabUuid)
           }, 1000)
         } else {
-          this.props.onSubmit(config.tabUuid)
+          this.props.onSubmit(config.tabUuid, config.errTabUuid)
         }
       }
     })
diff --git a/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx b/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx
index 48ababe..1f96b82 100644
--- a/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx
@@ -78,7 +78,7 @@
         MKEmitter.emit('mkFC', 'focus', config.tabUuid)
       } else if (config.enter === 'sub') {
         config.tabUuid && MKEmitter.emit('mkFC', 'focus', config.tabUuid)
-        this.props.onSubmit(config.tabUuid)
+        this.props.onSubmit(config.tabUuid, config.errTabUuid)
       }
     }, 50)
   }
diff --git a/src/tabviews/zshare/mutilform/mkInput/index.jsx b/src/tabviews/zshare/mutilform/mkInput/index.jsx
index 9bdbbcf..0083264 100644
--- a/src/tabviews/zshare/mutilform/mkInput/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkInput/index.jsx
@@ -125,7 +125,7 @@
       MKEmitter.emit('mkFC', 'focus', config.tabUuid)
     } else {
       MKEmitter.emit('mkFC', 'focus', config.tabUuid)
-      this.props.onSubmit(config.tabUuid)
+      this.props.onSubmit(config.tabUuid, config.errTabUuid)
     }
   }
 
diff --git a/src/tabviews/zshare/mutilform/mkNumberInput/index.jsx b/src/tabviews/zshare/mutilform/mkNumberInput/index.jsx
index aa4d070..b842510 100644
--- a/src/tabviews/zshare/mutilform/mkNumberInput/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkNumberInput/index.jsx
@@ -71,7 +71,7 @@
       MKEmitter.emit('mkFC', 'focus', config.tabUuid)
     } else {
       MKEmitter.emit('mkFC', 'focus', config.tabUuid)
-      this.props.onSubmit(config.tabUuid)
+      this.props.onSubmit(config.tabUuid, config.errTabUuid)
     }
   }
 
diff --git a/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx b/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx
index bc9fe92..3aca1c8 100644
--- a/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx
@@ -360,10 +360,10 @@
         config.tabUuid && MKEmitter.emit('mkFC', 'focus', config.tabUuid)
         if (config.subFields) {
           setTimeout(() => {
-            this.props.onSubmit(config.tabUuid)
+            this.props.onSubmit(config.tabUuid, config.errTabUuid)
           }, 1000)
         } else {
-          this.props.onSubmit(config.tabUuid)
+          this.props.onSubmit(config.tabUuid, config.errTabUuid)
         }
       }
     })
diff --git a/src/tabviews/zshare/mutilform/mkSelect/index.jsx b/src/tabviews/zshare/mutilform/mkSelect/index.jsx
index ebc1a80..7371348 100644
--- a/src/tabviews/zshare/mutilform/mkSelect/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkSelect/index.jsx
@@ -162,10 +162,10 @@
         config.tabUuid && MKEmitter.emit('mkFC', 'focus', config.tabUuid)
         if (config.linkFields || config.subFields || config.controlFields) {
           setTimeout(() => {
-            this.props.onSubmit(config.tabUuid)
+            this.props.onSubmit(config.tabUuid, config.errTabUuid)
           }, 1000)
         } else {
-          this.props.onSubmit(config.tabUuid)
+          this.props.onSubmit(config.tabUuid, config.errTabUuid)
         }
       }
     })
diff --git a/src/tabviews/zshare/mutilform/mkSwitch/index.jsx b/src/tabviews/zshare/mutilform/mkSwitch/index.jsx
index 7cea5b9..ad7c009 100644
--- a/src/tabviews/zshare/mutilform/mkSwitch/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkSwitch/index.jsx
@@ -41,10 +41,10 @@
         config.tabUuid && MKEmitter.emit('mkFC', 'focus', config.tabUuid)
         if (config.linkFields || config.subFields || config.controlFields) {
           setTimeout(() => {
-            this.props.onSubmit(config.tabUuid)
+            this.props.onSubmit(config.tabUuid, config.errTabUuid)
           }, 1000)
         } else {
-          this.props.onSubmit(config.tabUuid)
+          this.props.onSubmit(config.tabUuid, config.errTabUuid)
         }
       }
     })
diff --git a/src/tabviews/zshare/mutilform/mkVercode/index.jsx b/src/tabviews/zshare/mutilform/mkVercode/index.jsx
index 7f6eff9..080584d 100644
--- a/src/tabviews/zshare/mutilform/mkVercode/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkVercode/index.jsx
@@ -56,7 +56,7 @@
       MKEmitter.emit('mkFC', 'focus', config.tabUuid)
     } else {
       config.tabUuid && MKEmitter.emit('mkFC', 'focus', config.tabUuid)
-      this.props.onSubmit(config.tabUuid)
+      this.props.onSubmit(config.tabUuid, config.errTabUuid)
     }
   }
 
diff --git a/src/tabviews/zshare/settingcomponent/editTable/index.jsx b/src/tabviews/zshare/settingcomponent/editTable/index.jsx
index b0a64e2..2dad740 100644
--- a/src/tabviews/zshare/settingcomponent/editTable/index.jsx
+++ b/src/tabviews/zshare/settingcomponent/editTable/index.jsx
@@ -77,7 +77,7 @@
       editable: true,
       options: [],
       width: '25%',
-      render: (text, record) => {
+      render: (text) => {
         if (!text) return ''
         return text[0] + '+' + shortkeycode[text[1]]
       }
@@ -92,7 +92,7 @@
       title: window.GLOB.dict['operation'] || '鎿嶄綔',
       dataIndex: 'operation',
       width: '140px',
-      render: (text, record) => {
+      render: (_, record) => {
         const { editingKey } = this.state
         const editable = this.isEditing(record)
         return editable ? (
@@ -100,11 +100,11 @@
             <EditableContext.Consumer>
               {form => (
                 <span onClick={() => this.save(form, record.uuid)} style={{ marginRight: 8 , color: '#1890ff', cursor: 'pointer'}}>
-                  淇濆瓨
+                  {window.GLOB.dict['save'] || '淇濆瓨'}
                 </span>
               )}
             </EditableContext.Consumer>
-            <span style={{ color: '#1890ff', cursor: 'pointer'}} onClick={() => this.cancel(record.uuid)}>鍙栨秷</span>
+            <span style={{ color: '#1890ff', cursor: 'pointer'}} onClick={() => this.cancel(record.uuid)}>{window.GLOB.dict['cancel'] || '鍙栨秷'}</span>
           </div>
         ) : (
           <div className={'edit-operation-btn' + (editingKey !== '' ? ' disabled' : '')} style={{minWidth: '110px'}}>
@@ -115,7 +115,7 @@
     }],
     printTypeColumns: [
       {
-        title: '鎵撳嵃绫诲瀷',
+        title: window.GLOB.dict['print_type'] || '鎵撳嵃绫诲瀷',
         dataIndex: 'Text',
         width: '26.1%'
       },
@@ -130,7 +130,7 @@
         title: window.GLOB.dict['operation'] || '鎿嶄綔',
         dataIndex: 'operation',
         width: '153px',
-        render: (text, record) => {
+        render: (_, record) => {
           const { editingKey } = this.state
           const editable = this.isEditing(record)
           return editable ? (
@@ -138,11 +138,11 @@
               <EditableContext.Consumer>
                 {form => (
                   <span onClick={() => this.save(form, record.uuid, record.parentId)} style={{ marginRight: 8 , color: '#1890ff', cursor: 'pointer'}}>
-                    淇濆瓨
+                    {window.GLOB.dict['save'] || '淇濆瓨'}
                   </span>
                 )}
               </EditableContext.Consumer>
-              <span style={{ color: '#1890ff', cursor: 'pointer'}} onClick={() => this.cancel(record.uuid)}>鍙栨秷</span>
+              <span style={{ color: '#1890ff', cursor: 'pointer'}} onClick={() => this.cancel(record.uuid)}>{window.GLOB.dict['cancel'] || '鍙栨秷'}</span>
             </div>
           ) : (
             <div className={'edit-operation-btn' + (editingKey !== '' ? ' disabled' : '')} style={{minWidth: '110px'}}>
diff --git a/src/tabviews/zshare/topSearch/index.jsx b/src/tabviews/zshare/topSearch/index.jsx
index 6a50820..06cddd2 100644
--- a/src/tabviews/zshare/topSearch/index.jsx
+++ b/src/tabviews/zshare/topSearch/index.jsx
@@ -1266,7 +1266,7 @@
 
     return (
       <>
-        <Form {...formItemLayout} className={`mk-search-wrap mk-float-${setting.float} mk-order-${setting.order}`} style={setting.style}>
+        <Form {...formItemLayout} className={`mk-search-wrap mk-float-${setting.float} mk-order-${setting.order || 'none'}`} style={setting.style}>
           <Row gutter={24}>{this.getFields()}</Row>
           {advanceValues.length && (setting.advanceType !== 'pulldown' || (setting.advanceType === 'pulldown' && !visible)) ? <Row gutter={24}>
             <div className="advanced-list">
diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index 464d315..87a4db3 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -2553,6 +2553,9 @@
               filterSql(script.sql)
             })
           }
+          if (item.setting.supModTip) {
+            sql.push(item.setting.supModTip)
+          }
         }
 
         if (item.columns) {
@@ -2729,6 +2732,9 @@
           filterSql(script.sql)
         })
       }
+      if (item.setting.supModTip) {
+        sql.push(item.setting.supModTip)
+      }
     })
   }
 
@@ -2767,7 +2773,12 @@
   ops = ops.map(n => n.replace(/^\s+|\s+$/g, ''))
   menu = menu.map(n => n.replace(/^\s+|\s+$/g, ''))
 
-  sql = sql.filter(Boolean)
+  sql = sql.filter((n) => {
+    if (!n) return false
+    if (/^[a-zA-Z_]+$/.test(n)) return false
+
+    return true
+  })
   btn = btn.filter(Boolean)
   ops = ops.filter(Boolean)
   menu = menu.filter(Boolean)
@@ -3145,6 +3156,9 @@
               script.sql = filterSql(script.sql)
             })
           }
+          if (item.setting.supModTip) {
+            item.setting.supModTip = replaceTitle(item.setting.supModTip)
+          }
         }
 
         if (item.columns) {
@@ -3320,6 +3334,9 @@
         item.scripts && item.scripts.forEach(script => {
           script.sql = filterSql(script.sql)
         })
+      }
+      if (item.setting.supModTip) {
+        item.setting.supModTip = replaceTitle(item.setting.supModTip)
       }
     })
   }
@@ -3566,6 +3583,9 @@
               script.sql = filterSql(script.sql)
             })
           }
+          if (item.setting.supModTip) {
+            item.setting.supModTip = replaceTitle(item.setting.supModTip)
+          }
         }
 
         if (item.columns) {
@@ -3726,6 +3746,9 @@
           script.sql = filterSql(script.sql)
         })
       }
+      if (item.setting.supModTip) {
+        item.setting.supModTip = replaceTitle(item.setting.supModTip)
+      }
     })
   }
 
diff --git a/src/utils/utils.js b/src/utils/utils.js
index c655419..d9502c6 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -1188,6 +1188,10 @@
 
         val = val.replace(/(^\s+$)|\t+|\v+/ig, '')
 
+        if (col.interception !== 'false') {
+          val = val.replace(/^\s+|\s+$/g, '')
+        }
+
         if (!val && col.required === 'true') {            // 蹇呭~鏍¢獙
           errors.push(_position + '鍐呭涓嶅彲涓虹┖')
         } else if (col.limit && val.length > col.limit) { // 闀垮害鏍¢獙
diff --git a/src/views/login/index.jsx b/src/views/login/index.jsx
index 94b1fde..2737ed0 100644
--- a/src/views/login/index.jsx
+++ b/src/views/login/index.jsx
@@ -851,7 +851,7 @@
             }
 
             // positecgroup
-            if (res.users_upt === 'true' && window.GLOB.systemType === 'production') {
+            if (['20210626201522493D7AD7591D7A547278685', '20210626201956190740F1DF384914A3CA9EF'].includes(window.GLOB.appkey) && res.users_upt === 'true' && window.GLOB.systemType === 'production') {
               Api.genericInterface({
                 func: 's_Get_local_u_deleted',
                 users_upt_date: res.users_upt_date,
diff --git a/src/views/login/index.scss b/src/views/login/index.scss
index 7ef832b..daae91b 100644
--- a/src/views/login/index.scss
+++ b/src/views/login/index.scss
@@ -37,7 +37,7 @@
     min-height: 420px;
     display: flex;
     align-items: center;
-    justify-content: right;
+    justify-content: flex-end;
     padding-right: 20vw;
     overflow: hidden;
 
diff --git a/src/views/systemfunc/sidemenu/config.jsx b/src/views/systemfunc/sidemenu/config.jsx
index 058481e..37ea55c 100644
--- a/src/views/systemfunc/sidemenu/config.jsx
+++ b/src/views/systemfunc/sidemenu/config.jsx
@@ -191,13 +191,13 @@
     MenuID: '1577972969199lei1g0qkvlh4tkc908m',
     MenuNo: 'sModularM',
     MenuName: '绯荤粺妯″潡',
-  }, {
-    src: '',
-    PageParam: {OpenType: 'newtab', Template: 'BaseTable'},
-    type: 'BaseTable',
-    MenuID: '1578479100252lfbp29v1kafk4s4q4ig',
-    MenuNo: 'BDLanguagePacksM',
-    MenuName: '璇█鍖�',
+  // }, {
+  //   src: '',
+  //   PageParam: {OpenType: 'newtab', Template: 'BaseTable'},
+  //   type: 'BaseTable',
+  //   MenuID: '1578479100252lfbp29v1kafk4s4q4ig',
+  //   MenuNo: 'BDLanguagePacksM',
+  //   MenuName: '璇█鍖�',
   }, {
     src: '',
     systems: ['production', 'local', 'SSO', 'cloud'],

--
Gitblit v1.8.0