From 54ed8543c068580573118e951c7936d5aae22838 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 13 九月 2023 22:10:52 +0800
Subject: [PATCH] 2023-09-13

---
 src/utils/utils.js |   76 ++++++++++++++++++++++++++++++--------
 1 files changed, 60 insertions(+), 16 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index 247f4b3..3f2c69a 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -1539,6 +1539,8 @@
     }
 
     columns.forEach(col => {
+      if (col.field === 'works_flow_param') return
+
       if (col.type === 'colspan' || col.type === 'old_colspan') {
         col.subcols.forEach(cell => {
           setField(cell)
@@ -2085,6 +2087,62 @@
     `
   }
 
+  if (btn.$process && verify.workFlow === 'true' && window.GLOB.UserCacheMap.has(btn.$flowId)) {
+    let flow = window.GLOB.UserCacheMap.get(btn.$flowId)
+    let node = null
+    let line = null
+    let target = null
+    let status = 0
+    let statusName = ''
+    let detailId = ''
+
+    if (verify.flowSql === 'true') {
+      if (verify.flowType === 'start') {
+        target = flow.cells.filter(cell => cell.mknode === 'start')[0]
+
+        if (target) {
+          detailId = target.id
+          status = target.mkdata.status
+          statusName = target.mkdata.statusName
+        }
+      } else if (_data.works_flow_param) {
+        node = JSON.parse(window.decodeURIComponent(window.atob(_data.works_flow_param)))
+
+        if (node) {
+          line = flow.cells.filter(cell => cell.shape === 'edge' && cell.source.cell === node.id)[0]
+        }
+        
+        if (line) {
+          target = flow.cells.filter(cell => cell.id === line.target.cell)[0]
+        }
+      }
+
+      if (target) {
+        _sql += `
+      /* 宸ヤ綔娴侀粯璁ql */
+      insert into s_my_works_flow (works_flow_id,works_flow_code,works_flow_name,works_flow_param,work_group,works_flow_detail_id,work_grade,bid,createuserid,CreateUser,CreateStaff)
+      select @ID@,@works_flow_code@,@works_flow_name@,@works_flow_param@,@work_group@,@works_flow_detail_id@,@work_grade@,@bid@,@UserID@,@UserName,@FullName
+      insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade)
+      select @ID@,@works_flow_code@,@works_flow_name@,@works_flow_param@,@status@,@statusname@,@works_flow_detail_id@,@work_group@,@work_grade@
+      `
+      }
+    }
+
+    _sql = _sql.replace(/@works_flow_code@/ig, `'${flow.flow_code}'`)
+    _sql = _sql.replace(/@works_flow_name@/ig, `'${flow.flow_name}'`)
+    if (target) {
+      let msg = {...target.mkdata, id: target.id}
+      _sql = _sql.replace(/@works_flow_param@/ig, `'${window.btoa(window.encodeURIComponent(JSON.stringify(msg)))}'`)
+    } else {
+      _sql = _sql.replace(/@works_flow_param@/ig, `''`)
+    }
+    _sql = _sql.replace(/@works_flow_detail_id@/ig, `'${detailId}'`)
+    _sql = _sql.replace(/@status@/ig, `'${status}'`)
+    _sql = _sql.replace(/@statusname@/ig, `'${statusName}'`)
+    _sql = _sql.replace(/@work_group@/ig, `'${sessionStorage.getItem('work_group') || ''}'`)
+    _sql = _sql.replace(/@work_grade@/ig, `'${sessionStorage.getItem('work_grade') || 0}'`)
+  }
+
   if (_backCustomScript) {
     _sql += _backCustomScript
   }
@@ -2124,9 +2182,9 @@
   _sql = _sql.replace(/@typename@/ig, `'admin'`)
 
   if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
-    _sql = _sql.replace(/@datam@/ig, '\'Y\'')
+    _sql = _sql.replace(/\$@/ig, '/*').replace(/@\$/ig, '*/').replace(/@datam@/ig, `'Y'`)
   } else {
-    _sql = _sql.replace(/@datam@/ig, '\'\'')
+    _sql = _sql.replace(/@\$|\$@/ig, '').replace(/@datam@/ig, `''`)
   }
 
   if (window.GLOB.debugger === true) {
@@ -2135,20 +2193,6 @@
   }
 
   if (retmsg) {
-    _callbacksql = _callbacksql.replace(/@ID@/ig, `'${primaryId || ''}'`)
-    _callbacksql = _callbacksql.replace(/@BID@/ig, `'${BID}'`)
-    _callbacksql = _callbacksql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
-    _callbacksql = _callbacksql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
-    _callbacksql = _callbacksql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
-    _callbacksql = _callbacksql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
-    _callbacksql = _callbacksql.replace(/@typename@/ig, `'admin'`)
-
-    if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
-      _callbacksql = _callbacksql.replace(/@datam@/ig, '\'Y\'')
-    } else {
-      _callbacksql = _callbacksql.replace(/@datam@/ig, '\'\'')
-    }
-    
     return {
       sql: _sql,
       callbacksql: _callbacksql

--
Gitblit v1.8.0