From f3167f8371d19d0ea8fe7d0e7af5517ff0b08cd2 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 07 四月 2021 23:25:29 +0800
Subject: [PATCH] 2021-04-07

---
 src/tabviews/subtable/index.jsx |   46 +++++++++++++++++++++++++---------------------
 1 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/src/tabviews/subtable/index.jsx b/src/tabviews/subtable/index.jsx
index 07dbc4c..b31d3b2 100644
--- a/src/tabviews/subtable/index.jsx
+++ b/src/tabviews/subtable/index.jsx
@@ -11,7 +11,6 @@
 import options from '@/store/options.js'
 import UtilsDM from '@/utils/utils-datamanage.js'
 import { updateSubTable } from '@/utils/utils-update.js'
-import { modifyTabview } from '@/store/action'
 import asyncComponent from '@/utils/asyncComponent'
 import asyncSpinComponent from '@/utils/asyncSpinComponent'
 import NotFount from '@/components/404'
@@ -180,6 +179,13 @@
         if (col.field) {
           _arrField.push(col.field)
 
+          if (col.linkmenu && col.linkmenu.length > 0) {
+            let menu_id = col.linkmenu.slice(-1)[0]
+            col.linkThdMenu = permMenus.filter(m => m.MenuID === menu_id)[0] || ''
+          } else {
+            col.linkThdMenu = ''
+          }
+
           col.nameField && _arrField.push(col.nameField) // 閾炬帴鍚嶅瓧娈�
           if (col.Hide !== 'true' && col.type === 'number' && col.sum === 'true') {
             statFields.push(col)
@@ -197,13 +203,6 @@
       // 鐢熸垚鏄剧ず鍒楋紝澶勭悊鍚堝苟鍒椾腑鐨勫瓧娈�
       config.columns.forEach((col, index) => {
         if (_hideCol.includes(col.uuid)) return
-
-        if (col.linkmenu && col.linkmenu.length > 0) {
-          let menu_id = col.linkmenu.slice(-1)[0]
-          col.linkThdMenu = permMenus.filter(m => m.MenuID === menu_id)[0] || ''
-        } else {
-          col.linkThdMenu = ''
-        }
 
         col.sort = index
 
@@ -418,7 +417,7 @@
 
     Api.genericInterface(param).then(res => {
       if (res.status) {
-        if (res.mk_ex_invoke === 'false') {
+        if (res.mk_ex_invoke === 'false' || res.mk_ex_invoke === false) {
           this.loadmaindata()
         } else {
           this.customOuterRequest(res)
@@ -466,7 +465,7 @@
       param[key] = result[key]
     })
 
-    Api.directRequest(url, setting.method, param).then(res => {
+    Api.directRequest(url, setting.method, param, setting.cross).then(res => {
       if (typeof(res) !== 'object' || Array.isArray(res)) {
         let error = '鏈煡鐨勮繑鍥炵粨鏋滐紒'
 
@@ -657,8 +656,9 @@
     let result = await Api.genericInterface(param)
     if (result.status) {
       let data = fromJS(this.state.data).toJS()
+      let selectedData = fromJS(this.state.selectedData).toJS()
       if (result.data && result.data[0]) {
-        let _data = result.data[0]
+        let _data = result.data[0] || {}
 
         if (absFields.length) {
           absFields.forEach(field => {
@@ -669,17 +669,23 @@
           })
         }
 
+        _data.$$uuid = _data[setting.primaryKey] || ''
+        _data.$$BID = BID || ''
+
         try {
           data = data.map(item => {
-            if (item[setting.primaryKey] === _data[setting.primaryKey]) {
+            if (item.$$uuid === _data.$$uuid) {
               _data.key = item.key
-              _data.$$uuid = _data[setting.primaryKey] || ''
-              _data.$$BID = BID || ''
-
               return _data
             } else {
               return item
             }
+          })
+          selectedData = selectedData.map(item => {
+            if (_data.$$uuid === item.$$uuid) {
+              return _data
+            }
+            return item
           })
         } catch {
           console.warn('鏁版嵁鏌ヨ閿欒')
@@ -687,7 +693,8 @@
       }
 
       this.setState({
-        data: data,
+        data,
+        selectedData,
         loading: false
       })
     } else {
@@ -1031,17 +1038,14 @@
 
 const mapStateToProps = (state) => {
   return {
-    tabviews: state.tabviews,
     menuType: state.editLevel,
     permAction: state.permAction,
     permMenus: state.permMenus,
   }
 }
 
-const mapDispatchToProps = (dispatch) => {
-  return {
-    modifyTabview: (tabviews) => dispatch(modifyTabview(tabviews))
-  }
+const mapDispatchToProps = () => {
+  return {}
 }
 
 export default connect(mapStateToProps, mapDispatchToProps)(SubTabViewTable)
\ No newline at end of file

--
Gitblit v1.8.0