From f068c617b918fc7817c11724424cb1a9149ec3a2 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 09 一月 2020 16:51:10 +0800
Subject: [PATCH] 2020-01-09

---
 src/tabviews/tableshare/actionList/index.jsx |   52 ++++++++++++++++++++++++++++++----------------------
 1 files changed, 30 insertions(+), 22 deletions(-)

diff --git a/src/tabviews/tableshare/actionList/index.jsx b/src/tabviews/tableshare/actionList/index.jsx
index f49ee91..7e7a439 100644
--- a/src/tabviews/tableshare/actionList/index.jsx
+++ b/src/tabviews/tableshare/actionList/index.jsx
@@ -154,10 +154,7 @@
           func: 'sPC_TableData_InUpDe',
           BID: this.props.BID
         }
-
-        if (setting.primaryKey) { // 涓婚敭鍊奸璁撅紝浠庤〃鏍兼暟鎹涓�椤归�夊彇
-          param[setting.primaryKey] = (data[0] && data[0][setting.primaryKey]) || ''
-        }
+        let primaryId = setting.primaryKey && data[0] ? data[0][setting.primaryKey] : ''
 
         if (btn.OpenType === 'prompt' || btn.OpenType === 'exec') { // 鏄惁寮规鎴栫洿鎺ユ墽琛�
           let ID = ''
@@ -170,13 +167,13 @@
             ID = ids.join(',')
           }
 
-          if (setting.primaryKey) {
-            param[setting.primaryKey] = ID
-          }
-
           if (btn.innerFunc) { // 浣跨敤鑷畾涔夊嚱鏁�
             param.func = btn.innerFunc
+            if (setting.primaryKey) { // 涓婚敭瀛樺湪鏃讹紝璁剧疆涓婚敭鍙傛暟
+              param[setting.primaryKey] = ID
+            }
           } else if (btn.sql) {
+            param.ID = primaryId
             param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, '', param, data[0])) // 鏁版嵁婧�
             param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
             param.secretkey = Utils.encrypt(param.LText, param.timestamp)
@@ -185,19 +182,21 @@
           if (btn.innerFunc) {
             param.func = btn.innerFunc
 
+            if (setting.primaryKey) { // 涓婚敭瀛樺湪鏃讹紝璁剧疆涓婚敭鍙傛暟
+              param[setting.primaryKey] = primaryId
+            }
+
             formdata.forEach(_data => {
               param[_data.key] = _data.value
             })
 
           } else if (btn.sql && btn.sqlType === 'insert') { // 绯荤粺鍑芥暟娣诲姞鏃讹紝鐢熸垚uuid
-            if (setting.primaryKey) {
-              param[setting.primaryKey] = Utils.getguid()
-            }
-
+            param.ID = Utils.getguid()
             param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata, param, data[0])) // 鏁版嵁婧�
             param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
             param.secretkey = Utils.encrypt(param.LText, param.timestamp)
           } else if (btn.sql) {
+            param.ID = primaryId
             param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata, param, data[0])) // 鏁版嵁婧�
             param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
             param.secretkey = Utils.encrypt(param.LText, param.timestamp)
@@ -219,16 +218,17 @@
             func: 'sPC_TableData_InUpDe',
             BID: this.props.BID
           }
-
-          if (setting.primaryKey) {
-            param[setting.primaryKey] = cell[setting.primaryKey] || ''
-          }
+          let primaryId = setting.primaryKey ? cell[setting.primaryKey] : ''
 
           if (btn.OpenType === 'prompt' || btn.OpenType === 'exec') { // 鏄惁寮规鎴栫洿鎺ユ墽琛�
 
             if (btn.innerFunc) {
               param.func = btn.innerFunc
+              if (setting.primaryKey) {
+                param[setting.primaryKey] = primaryId
+              }
             } else if (btn.sql) {
+              param.ID = primaryId
               param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, '', param, cell)) // 鏁版嵁婧�
               param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
               param.secretkey = Utils.encrypt(param.LText, param.timestamp)
@@ -236,15 +236,17 @@
           } else if (btn.OpenType === 'pop') { // 琛ㄥ崟
             if (btn.innerFunc) {
               param.func = btn.innerFunc
-  
+
+              if (setting.primaryKey) {
+                param[setting.primaryKey] = primaryId
+              }
+
               formdata.forEach(_data => {
                 param[_data.key] = _data.value
               })
 
             } else if (btn.sql) {
-              if (setting.primaryKey) {
-                param[setting.primaryKey] = cell[setting.primaryKey]
-              }
+              param.ID = primaryId
               param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata, param, cell)) // 鏁版嵁婧�
               param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
               param.secretkey = Utils.encrypt(param.LText, param.timestamp)
@@ -690,14 +692,14 @@
     if (execAction.groups.length > 0) {
       execAction.groups.forEach(group => {
         group.sublist.forEach(field => {
-          if ((field.type === 'select' || field.type === 'link') && field.resourceType === '1' && field.dataSource) {
+          if ((field.type === 'select' || field.type === 'link' || field.type === 'multiselect') && field.resourceType === '1' && field.dataSource) {
             subfields.push(field)
           }
         })
       })
     } else {
       execAction.fields.forEach(field => {
-        if ((field.type === 'select' || field.type === 'link') && field.resourceType === '1' && field.dataSource) {
+        if ((field.type === 'select' || field.type === 'link' || field.type === 'multiselect') && field.resourceType === '1' && field.dataSource) {
           subfields.push(field)
         }
       })
@@ -716,6 +718,8 @@
 
       if (item.type === 'link') {
         arrfield = arrfield + ',' + item.linkField
+      } else if (item.type === 'select' && item.linkSubField && item.linkSubField.length > 0) {
+        arrfield = arrfield + ',' + item.linkSubField.join(',')
       }
 
       let _sql = Utils.getSelectQuerySql(item)
@@ -753,6 +757,10 @@
 
             if (res.search.type === 'link') {
               item.parentId = cell[res.search.linkField]
+            } else if (res.search.type === 'select' && res.search.linkSubField && res.search.linkSubField.length > 0) {
+              res.search.linkSubField.forEach(_field => {
+                item[_field] = (cell[_field] || cell[_field] === 0) ? cell[_field] : ''
+              })
             }
 
             return item

--
Gitblit v1.8.0