From 34f4be5727bf4d0d231e0691a503cf0c9e5d00d3 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 27 一月 2021 19:10:56 +0800
Subject: [PATCH] 2021-01-27

---
 src/tabviews/zshare/actionList/normalbutton/index.jsx |   85 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 69 insertions(+), 16 deletions(-)

diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx
index 8e392e3..7eda245 100644
--- a/src/tabviews/zshare/actionList/normalbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -6,7 +6,7 @@
 import { Button, Modal, notification, message } from 'antd'
 
 import Api from '@/api'
-import Utils from '@/utils/utils.js'
+import Utils, { getSysDefaultSql } from '@/utils/utils.js'
 import options from '@/store/options.js'
 import zhCN from '@/locales/zh-CN/main.js'
 import enUS from '@/locales/en-US/main.js'
@@ -239,7 +239,14 @@
 
       if (btn.OpenType === 'prompt' || btn.OpenType === 'exec') { // 鏄惁寮规鎴栫洿鎺ユ墽琛�
         param.ID = primaryId
-        param.LText = Utils.getSysDefaultSql(btn, setting, '', param, data[0], columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+
+        if (retmsg) {
+          const { sql, callbacksql } = getSysDefaultSql(btn, setting, '', param, data[0], columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+          param.LText = sql
+          param.$callbacksql = callbacksql
+        } else {
+          param.LText = getSysDefaultSql(btn, setting, '', param, data[0], columns, this.props.Tab) // 鏁版嵁婧�
+        }
 
         if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
           param.LText = param.LText.replace(/\$@/ig, '/*')
@@ -274,7 +281,14 @@
           }
 
           param.ID = primaryId || Utils.getguid()
-          param.LText = Utils.getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+
+          if (retmsg) {
+            const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+            param.LText = sql
+            param.$callbacksql = callbacksql
+          } else {
+            param.LText = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab) // 鏁版嵁婧�
+          }
           
           if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
             param.LText = param.LText.replace(/\$@/ig, '/*')
@@ -299,7 +313,14 @@
           param.LText = Utils.formatOptions(param.LText)
         } else {
           param.ID = primaryId
-          param.LText = Utils.getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+
+          if (retmsg) {
+            const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+            param.LText = sql
+            param.$callbacksql = callbacksql
+          } else {
+            param.LText = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab) // 鏁版嵁婧�
+          }
           
           if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
             param.LText = param.LText.replace(/\$@/ig, '/*')
@@ -354,7 +375,14 @@
 
         if (btn.OpenType === 'prompt' || btn.OpenType === 'exec') { // 鏄惁寮规鎴栫洿鎺ユ墽琛�
           param.ID = primaryId
-          param.LText = Utils.getSysDefaultSql(btn, setting, '', param, cell, columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+
+          if (retmsg) {
+            const { sql, callbacksql } = getSysDefaultSql(btn, setting, '', param, cell, columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+            param.LText = sql
+            param.$callbacksql = callbacksql
+          } else {
+            param.LText = getSysDefaultSql(btn, setting, '', param, cell, columns, this.props.Tab) // 鏁版嵁婧�
+          }
           
           if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
             param.LText = param.LText.replace(/\$@/ig, '/*')
@@ -380,7 +408,14 @@
 
           if (btn.sqlType === 'insert') { // 绯荤粺鍑芥暟娣诲姞鏃讹紝鐢熸垚uuid
             param.ID = Utils.getguid()
-            param.LText = Utils.getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+
+            if (retmsg) {
+              const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+              param.LText = sql
+              param.$callbacksql = callbacksql
+            } else {
+              param.LText = getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab) // 鏁版嵁婧�
+            }
             
             if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
               param.LText = param.LText.replace(/\$@/ig, '/*')
@@ -396,7 +431,14 @@
             param.LText = Utils.formatOptions(param.LText)
           } else {
             param.ID = primaryId
-            param.LText = Utils.getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+
+            if (retmsg) {
+              const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab, retmsg) // 鏁版嵁婧�
+              param.LText = sql
+              param.$callbacksql = callbacksql
+            } else {
+              param.LText = getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab) // 鏁版嵁婧�
+            }
             
             if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
               param.LText = param.LText.replace(/\$@/ig, '/*')
@@ -638,6 +680,14 @@
       loadingNumber: params.length || ''
     })
 
+    let record = {
+      BID: param.BID || '',
+      ID: param.ID || '',
+      callbacksql: param.$callbacksql || ''
+    }
+
+    delete param.$callbacksql
+
     Api.genericInterface(param).then(res => {
       if (res.status) {
         if (res.mk_ex_invoke === 'false' && params.length === 0) {
@@ -646,7 +696,7 @@
         } else if (res.mk_ex_invoke === 'false' && params.length > 0) {
           this.customLoopRequest(params, _resolve)
         } else {
-          this.customOuterRequest(params, res, _resolve)
+          this.customOuterRequest(params, res, record, _resolve)
         }
       } else if (res.ErrCode === 'C' && this.state.checkParam) {
         const _this = this
@@ -663,7 +713,7 @@
                   } else if (result.mk_ex_invoke === 'false' && params.length > 0) {
                     _this.customLoopRequest(params, _resolve)
                   } else {
-                    _this.customOuterRequest(params, result, _resolve)
+                    _this.customOuterRequest(params, result, record, _resolve)
                   }
                 } else {
                   _this.execError(result)
@@ -696,7 +746,7 @@
   /**
    * @description 鑷畾涔夎姹傚惊鐜墽琛�
    */
-  customOuterRequest = (params, result, _resolve) => {
+  customOuterRequest = (params, result, record, _resolve) => {
     const { btn } = this.props
 
     let url = ''
@@ -736,10 +786,10 @@
           $ErrMesg: error
         }
 
-        this.customCallbackRequest(params, result, _resolve)
+        this.customCallbackRequest(params, result, record, _resolve)
       } else {
         res.mk_api_key = mkey
-        this.customCallbackRequest(params, res, _resolve)
+        this.customCallbackRequest(params, res, record, _resolve)
       }
     }, () => {
       this.updateStatus('over')
@@ -750,7 +800,7 @@
   /**
    * @description 鍥炶皟璇锋眰寰幆鎵ц
    */
-  customCallbackRequest = (params, result, _resolve) => {
+  customCallbackRequest = (params, result, record, _resolve) => {
     const { btn } = this.props
     let lines = []
     let pre = btn.callbackType === 'script' ? '@' : ''
@@ -828,11 +878,14 @@
     if (btn.callbackType === 'script') { // 浣跨敤鑷畾涔夎剼鏈�
       param.func = 'sPC_TableData_InUpDe'
       
-      if (this.props.BID) {
+      if (record.BID) {
         param.BID = this.props.BID
       }
+      if (record.ID) {
+        param.ID = record.ID
+      }
 
-      let _prevCustomScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000)
+      let _prevCustomScript = `${record.callbacksql || 'declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000)'}
         Select @ErrorCode='',@retmsg=''
         ${errSql}
       `
@@ -855,7 +908,7 @@
       })
 
       _backCustomScript += `
-      aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg`
+        aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg`
 
       let sql = [...lineMap.values()].map(item => (`
         ${item.insert}

--
Gitblit v1.8.0