From c45a375e5b4ce0e33c7fc8a1aecdad67d60acc9e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 01 三月 2021 15:09:06 +0800
Subject: [PATCH] 2021-03-01

---
 src/index.js                                                      |    2 
 src/pc/components/navbar/normal-navbar/index.jsx                  |    2 
 src/templates/sharecomponent/actioncomponent/index.jsx            |   25 ++++++------
 src/utils/utils-update.js                                         |    4 ++
 package.json                                                      |    2 
 src/templates/sharecomponent/actioncomponent/actionform/index.jsx |    1 
 src/menu/components/table/normal-table/index.jsx                  |    2 
 src/templates/comtableconfig/index.jsx                            |   34 ++++++----------
 src/templates/subtableconfig/index.jsx                            |   14 +++++--
 src/menu/components/card/data-card/index.jsx                      |    2 
 src/menu/components/share/actioncomponent/index.jsx               |    2 
 11 files changed, 46 insertions(+), 44 deletions(-)

diff --git a/package.json b/package.json
index dc3fd68..ad7bc05 100644
--- a/package.json
+++ b/package.json
@@ -188,7 +188,7 @@
       ]
     ]
   },
-  "homepage": ".",
+  "homepage": "./build",
   "devDependencies": {
     "typescript": "^4.0.2"
   }
diff --git a/src/index.js b/src/index.js
index 6640d46..a1f9912 100644
--- a/src/index.js
+++ b/src/index.js
@@ -59,7 +59,7 @@
 
 // 娴嬭瘯绯荤粺鏂囦欢缃簬admin涓�
 
-fetch('/options.json')
+fetch('./options.json')
   .then(response => response.json())
   .catch(() => {
     document.getElementById('root').innerHTML = '<div style="text-align: center; font-size: 30px; margin-top: 40vh;">绯荤粺閰嶇疆淇℃伅鑾峰彇澶辫触锛岃鑱旂郴绠$悊鍛橈紒</div>'
diff --git a/src/menu/components/card/data-card/index.jsx b/src/menu/components/card/data-card/index.jsx
index 35c6feb..1ce4fff 100644
--- a/src/menu/components/card/data-card/index.jsx
+++ b/src/menu/components/card/data-card/index.jsx
@@ -295,7 +295,7 @@
     const { card } = this.state
     let btn = fromJS(item).toJS()
 
-    if (btn.OpenType === 'pop') {
+    if (btn.OpenType === 'pop' || btn.execMode === 'pop') {
       if (!btn.modal) {
         btn.modal = {
           setting: { title: btn.label, width: 60, cols: '2', container: 'view', focus: '', finish: 'close', clickouter: 'unclose', display: 'modal' },
diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx
index d026270..5a26528 100644
--- a/src/menu/components/share/actioncomponent/index.jsx
+++ b/src/menu/components/share/actioncomponent/index.jsx
@@ -404,7 +404,7 @@
   btnDoubleClick = (element) => {
     if (sessionStorage.getItem('style-control') && sessionStorage.getItem('style-control') !== 'false') return
     
-    if (element.OpenType === 'pop' || element.OpenType === 'popview') {
+    if (element.OpenType === 'pop' || element.OpenType === 'popview' || element.execMode === 'pop') {
       this.props.setSubConfig(element)
     } else {
       notification.warning({
diff --git a/src/menu/components/table/normal-table/index.jsx b/src/menu/components/table/normal-table/index.jsx
index 0f77b41..3b8cb9b 100644
--- a/src/menu/components/table/normal-table/index.jsx
+++ b/src/menu/components/table/normal-table/index.jsx
@@ -295,7 +295,7 @@
     const { card } = this.state
     let btn = fromJS(item).toJS()
 
-    if (btn.OpenType === 'pop') {
+    if (btn.OpenType === 'pop' || btn.execMode === 'pop') {
       if (!btn.modal) {
         btn.modal = {
           setting: { title: btn.label, width: 60, cols: '2', container: 'view', focus: '', finish: 'close', clickouter: 'unclose', display: 'modal' },
diff --git a/src/pc/components/navbar/normal-navbar/index.jsx b/src/pc/components/navbar/normal-navbar/index.jsx
index 35c6feb..1ce4fff 100644
--- a/src/pc/components/navbar/normal-navbar/index.jsx
+++ b/src/pc/components/navbar/normal-navbar/index.jsx
@@ -295,7 +295,7 @@
     const { card } = this.state
     let btn = fromJS(item).toJS()
 
-    if (btn.OpenType === 'pop') {
+    if (btn.OpenType === 'pop' || btn.execMode === 'pop') {
       if (!btn.modal) {
         btn.modal = {
           setting: { title: btn.label, width: 60, cols: '2', container: 'view', focus: '', finish: 'close', clickouter: 'unclose', display: 'modal' },
diff --git a/src/templates/comtableconfig/index.jsx b/src/templates/comtableconfig/index.jsx
index 8437eb0..5df380a 100644
--- a/src/templates/comtableconfig/index.jsx
+++ b/src/templates/comtableconfig/index.jsx
@@ -101,17 +101,17 @@
           item.linkTab = ''
         }
 
-        if (item.OpenType === 'pop') { // 鍚湁瀛愰厤缃」鐨勬寜閽�(琛ㄥ崟)
+        if (item.OpenType === 'pop' || item.execMode === 'pop') { // 鍚湁瀛愰厤缃」鐨勬寜閽�(琛ㄥ崟)
           _oriActions.push({
             prebtn: fromJS(item).toJS(),
             curuuid: uuid,
             Template: 'Modal'
           })
-        } else if (item.OpenType === 'tab' || item.OpenType === 'blank') { // 鍚湁瀛愰厤缃」鐨勬寜閽�(鏍囩鍚庡綋鍓嶉〉鎵撳紑)
+        } else if (item.OpenType === 'tab' && item.tabTemplate === 'FormTab') { // 鍚湁瀛愰厤缃」鐨勬寜閽�(鏍囩椤垫墦寮�)
           _oriActions.push({
             prebtn: fromJS(item).toJS(),
             curuuid: uuid,
-            Template: item.tabTemplate
+            Template: 'FormTab'
           })
         }
 
@@ -616,6 +616,8 @@
         let curBtn = config.action.filter(cell => item.curuuid === cell.uuid)[0] // 鏌ョ湅鍒濆鍖栨寜閽槸鍚﹀瓨鍦�
         if (!curBtn) return
         if (curBtn.OpenType !== item.prebtn.OpenType) return
+        if (curBtn.OpenType === 'tab' && curBtn.tabTemplate !== 'FormTab') return
+        if (curBtn.OpenType === 'funcbutton' && curBtn.execMode !== 'pop') return
 
         oriActions.push({
           prebtn: item.prebtn,
@@ -775,16 +777,6 @@
         duration: 5
       })
     } else {
-      // 鍩烘湰淇℃伅楠岃瘉
-      if (!config.fstMenuId || !config.ParentId || !config.MenuName || !config.MenuNo) {
-        notification.warning({
-          top: 92,
-          message: this.state.dict['model.menu.basemsg'],
-          duration: 5
-        })
-        this.setState({activeKey: '0'})
-        return
-      }
       if (!is(fromJS(originMenu), fromJS(config))) { // 鑿滃崟淇℃伅鍙樺寲鏃讹紝鎻愮ず淇濆瓨
         notification.warning({
           top: 92,
@@ -794,7 +786,7 @@
         return
       }
 
-      let submenu = menu.fstMenuList.filter(item => item.MenuID === config.fstMenuId)[0]
+      let submenu = menu.fstMenuList.filter(_menu => _menu.MenuID === config.fstMenuId)[0]
 
       let _Menu = {
         ...menu,
@@ -813,17 +805,17 @@
       let isbutton = true
       let _btnTab = null
       
-      if (type === 'button' && item.OpenType === 'pop') {
-        _view = 'Modal'             // 琛ㄥ崟椤甸潰
-      } else if (type === 'button' && (item.OpenType === 'tab' || item.OpenType === 'blank')) {
-        _view = item.tabTemplate    // 鏂版爣绛鹃〉妯℃澘
+      if (type === 'button' && (item.OpenType === 'pop' || item.execMode === 'pop')) {
+        _view = 'Modal'      // 琛ㄥ崟椤甸潰
+      } else if (type === 'button' && item.OpenType === 'tab') {
+        _view = 'FormTab'    // 琛ㄥ崟鏍囩椤垫ā鏉�
         _btnTab = item
       } else if (type === 'button' && item.OpenType === 'popview') {
-        _view = item.tabType || 'SubTable' // 鏂板脊绐楁爣绛炬ā鏉� tabType 灞炴�у凡鍘婚櫎
+        _view = 'SubTable'   // 鏂板脊绐楁爣绛炬ā鏉� tabType 灞炴�у凡鍘婚櫎
         uuid = item.linkTab
         isbutton = false
       } else if (type === 'tab') {
-        _view = item.type           // 鏍囩妯℃澘
+        _view = 'SubTable'   // 鏍囩妯℃澘
         uuid = item.linkTab
         isbutton = false
       }
@@ -1116,7 +1108,7 @@
     const { menu } = this.props
     const { activeKey, config, chartview } = this.state
 
-    const confActions = config.action.filter(_action => !_action.origin && (['pop', 'popview', 'blank'].includes(_action.OpenType) || (_action.OpenType === 'tab' && _action.tabTemplate === 'FormTab')))
+    const confActions = config.action.filter(_action => !_action.origin && (['pop', 'popview'].includes(_action.OpenType) || (_action.OpenType === 'tab' && _action.tabTemplate === 'FormTab') || (_action.OpenType === 'funcbutton' && _action.execMode === 'pop')))
 
     let configTabs = []
     config.tabgroups.forEach(group => {
diff --git a/src/templates/sharecomponent/actioncomponent/actionform/index.jsx b/src/templates/sharecomponent/actioncomponent/actionform/index.jsx
index fa38cae..9e150f6 100644
--- a/src/templates/sharecomponent/actioncomponent/actionform/index.jsx
+++ b/src/templates/sharecomponent/actioncomponent/actionform/index.jsx
@@ -700,7 +700,6 @@
             values.Ot = 'notRequired'
           } else if (values.OpenType === 'popview' && !values.linkTab) { // 娌℃湁鍏宠仈鏍囩锛堟柊寤烘椂锛夛紝鍒涘缓鏂版爣绛綢d
             values.linkTab = Utils.getuuid()
-            values.createTab = true // 鐢ㄤ簬鏍囪鎸夐挳澶嶅埗鏃讹紝鏄惁澶嶅埗鍘熸湁鏍囩
           } else if (values.OpenType === 'funcbutton') { // 杞崲鎵撳嵃鏃舵墦寮�鏂瑰紡
             values.position = 'toolbar'
           } else if (['pop', 'prompt', 'exec'].includes(values.OpenType) && values.verify) {
diff --git a/src/templates/sharecomponent/actioncomponent/index.jsx b/src/templates/sharecomponent/actioncomponent/index.jsx
index 9c4e283..37ef9f8 100644
--- a/src/templates/sharecomponent/actioncomponent/index.jsx
+++ b/src/templates/sharecomponent/actioncomponent/index.jsx
@@ -262,12 +262,12 @@
       new Promise(resolve => {
         if (
           !card.originCard ||
-          (btn.OpenType === 'pop' && card.originCard.OpenType !== 'pop') ||
-          (['tab', 'blank'].includes(btn.OpenType) && !['tab', 'blank'].includes(card.originCard.OpenType)) ||
-          (btn.OpenType === 'popview' && (!btn.createTab || card.originCard.OpenType !== 'popview' || !card.originCard.linkTab))
+          (btn.OpenType !== card.originCard.OpenType) ||
+          (btn.OpenType === 'tab' && btn.tabTemplate !== 'FormTab') ||
+          (btn.OpenType === 'funcbutton' && btn.execMode !== 'pop')
         ) { // 鎸夐挳涓嶆槸澶嶅埗锛屾垨鎸夐挳鍓嶅悗绫诲瀷涓嶄竴鑷存椂锛岀洿鎺ヤ繚瀛�
           resolve('save')
-        } else if (btn.OpenType === 'pop' || btn.OpenType === 'tab' || btn.OpenType === 'blank') {
+        } else if (btn.OpenType === 'pop' || btn.OpenType === 'tab' || btn.execMode === 'pop') {
           resolve('subconf')
         } else if (btn.OpenType === 'popview') {
           resolve('subtab')
@@ -297,20 +297,21 @@
             }
           }
 
+          if (!_LongParam) return 'save'
+
           let _temp = '' // 閰嶇疆淇℃伅绫诲瀷
 
           // 淇敼妯℃�佹鏍囬鍚嶇О
-          if (btn.OpenType === 'pop' && _LongParam && _LongParam.type === 'Modal') {
+          if ((btn.OpenType === 'pop' || btn.execMode === 'pop') && _LongParam.type === 'Modal') {
             try {
               _LongParam.setting.title = btn.label
               _LongParam = window.btoa(window.encodeURIComponent(JSON.stringify(_LongParam)))
               _temp = 'Modal'
             } catch {
               console.warn('Stringify Failure')
-              _LongParam = ''
               _temp = ''
             }
-          } else if (['tab', 'blank'].includes(btn.OpenType) && _LongParam && _LongParam.type === 'FormTab') {
+          } else if (btn.OpenType === 'tab' && _LongParam.type === 'FormTab') {
             try {
               _LongParam.action = _LongParam.action.map(_btn => {
                 _btn.uuid = Utils.getuuid()
@@ -328,7 +329,6 @@
               _temp = 'FormTab'
             } catch {
               console.warn('Stringify Failure')
-              _LongParam = ''
               _temp = ''
             }
           }
@@ -484,7 +484,7 @@
       _tab.action = _tab.action.map((item, index) => {
         let uuid = Utils.getuuid()
 
-        if (item.OpenType === 'pop') {
+        if (item.OpenType === 'pop' || item.execMode === 'pop') {
           _oriActions.push({
             prebtn: JSON.parse(JSON.stringify(item)),
             curuuid: uuid,
@@ -837,9 +837,10 @@
   /**
    * @description 鎸夐挳鍙屽嚮瑙﹀彂瀛愰厤缃�
    */
-  btnDoubleClick = (element) => {
-    if (!element.origin && (element.OpenType === 'pop' || element.OpenType === 'popview' || element.OpenType === 'blank' || (element.OpenType === 'tab' && element.tabTemplate === 'FormTab'))) {
-      this.props.setSubConfig(element)
+  btnDoubleClick = (el) => {
+    // execMode === 'pop' 涓� OpenType === 'funcbutton'
+    if (!el.origin && (el.OpenType === 'pop' || el.execMode === 'pop' || el.OpenType === 'popview' || (el.OpenType === 'tab' && el.tabTemplate === 'FormTab'))) {
+      this.props.setSubConfig(el)
     } else {
       notification.warning({
         top: 92,
diff --git a/src/templates/subtableconfig/index.jsx b/src/templates/subtableconfig/index.jsx
index af71c64..931505d 100644
--- a/src/templates/subtableconfig/index.jsx
+++ b/src/templates/subtableconfig/index.jsx
@@ -90,6 +90,11 @@
     if (_config.type === 'user') {
       _config.action = _config.action.map(item => {
         let uuid = Utils.getuuid()
+
+        if (item.linkTab) {
+          item.linkTab = ''
+        }
+
         if (item.OpenType === 'pop') { // 鍚湁瀛愰厤缃」鐨勬寜閽�
           _oriActions.push({
             prebtn: fromJS(item).toJS(),
@@ -550,6 +555,7 @@
         let curBtn = config.action.filter(cell => item.curuuid === cell.uuid)[0] // 鏌ョ湅鍒濆鍖栨寜閽槸鍚﹀瓨鍦�
         if (!curBtn) return
         if (curBtn.OpenType !== item.prebtn.OpenType) return
+        if (curBtn.OpenType === 'funcbutton' && curBtn.execMode !== 'pop') return
 
         oriActions.push({
           prebtn: item.prebtn,
@@ -666,10 +672,10 @@
         let _view = ''
         let _subtab = editSubTab
 
-        if (btn.OpenType === 'pop') {
-          _view = 'Modal'             // 琛ㄥ崟椤甸潰
+        if (btn.OpenType === 'pop' || btn.execMode === 'pop') {
+          _view = 'Modal'      // 琛ㄥ崟椤甸潰
         } else if (btn.OpenType === 'popview') {
-          _view = btn.tabType || 'SubTable' // 鏂板脊绐楁爣绛炬ā鏉� tabType 灞炴�у凡鍘婚櫎
+          _view = 'SubTable'   // 鏂板脊绐楁爣绛炬ā鏉� tabType 灞炴�у凡鍘婚櫎
           _subtab = btn
 
           if (editSubTab) {
@@ -935,7 +941,7 @@
   render () {
     const { activeKey, config, chartview } = this.state
 
-    const confActions = config.action.filter(_action => !_action.origin && ['pop', 'popview', 'blank'].includes(_action.OpenType))
+    const confActions = config.action.filter(_action => !_action.origin && (['pop', 'popview'].includes(_action.OpenType) || (_action.OpenType === 'funcbutton' && _action.execMode === 'pop')))
 
     return (
       <div className="model-subtable-board">
diff --git a/src/utils/utils-update.js b/src/utils/utils-update.js
index 8c06998..733a0a5 100644
--- a/src/utils/utils-update.js
+++ b/src/utils/utils-update.js
@@ -73,6 +73,8 @@
     config.action = config.action.map(item => {
       if (item.execMode) {
         item.OpenType = 'funcbutton'
+      } else if (item.OpenType === 'blank') {
+        item.OpenType = 'tab'
       }
       return item
     })
@@ -153,6 +155,8 @@
     config.action = config.action.map(item => {
       if (item.execMode) {
         item.OpenType = 'funcbutton'
+      } else if (item.OpenType === 'blank') {
+        item.OpenType = 'tab'
       }
       return item
     })

--
Gitblit v1.8.0