From 55a89127d14a20a96720d9050295743f2090f046 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 09 九月 2024 22:29:37 +0800
Subject: [PATCH] 2024-09-09

---
 src/tabviews/zshare/actionList/printbutton/index.jsx |   62 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 2 deletions(-)

diff --git a/src/tabviews/zshare/actionList/printbutton/index.jsx b/src/tabviews/zshare/actionList/printbutton/index.jsx
index ba6fef3..768d2f9 100644
--- a/src/tabviews/zshare/actionList/printbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/printbutton/index.jsx
@@ -8,6 +8,7 @@
 import Utils from '@/utils/utils.js'
 import asyncSpinComponent from '@/utils/asyncSpinComponent'
 import { updateForm } from '@/utils/utils-update.js'
+import UtilsDM from '@/utils/utils-datamanage.js'
 import MKEmitter from '@/utils/events.js'
 import MkIcon from '@/components/mk-icon'
 // import './index.scss'
@@ -948,6 +949,65 @@
   getDefaultSql = (formlist, data, ID) => {
     const { BID, btn, columns } = this.props
 
+    if (window.backend && window.GLOB.CacheData.has('sql_' + btn.uuid)) {
+      let setting = {...btn.verify.setting}
+      setting.interType = 'system'
+      setting.uuid = btn.uuid
+
+      let _param = UtilsDM.getQueryDataParams(setting, [], setting.order, 1, 9999, BID, ID)
+      let item = window.GLOB.CacheData.get('sql_' + btn.uuid)
+
+      _param.data[0].exps = _param.data[0].exps.filter(n => n.key !== 'mk_search')
+      let formkeys = []
+
+      formlist.forEach(form => {
+        if (!item.reps.includes(form.key)) return
+
+        formkeys.push(form.key)
+
+        let val = form.value
+        if (form.type === 'number' || form.type === 'rate') {
+          if (isNaN(val)) {
+            val = 0
+          }
+        } else if (['date', 'datemonth'].includes(form.type)) {
+          val = val || '1949-10-01'
+        }
+
+        _param.data[0].exps.push({
+          key: 'mk_' + form.key + '_mk',
+          value: val
+        })
+      })
+
+      if (data && columns && columns.length > 0) {
+        let datavars = {}
+  
+        Object.keys(data).forEach(key => {
+          datavars[key.toLowerCase()] = data[key]
+        })
+    
+        columns.forEach(col => {
+          if (!item.reps.includes(col.field) || formkeys.includes(col.field)) return
+          if (!col.datatype) return
+  
+          let _key = col.field.toLowerCase()
+          let _val = datavars.hasOwnProperty(_key) ? datavars[_key] : ''
+  
+          if (/^date/ig.test(col.datatype) && !_val) {
+            _val = '1949-10-01'
+          }
+
+          _param.data[0].exps.push({
+            key: 'mk_' + col.field + '_mk',
+            value: _val
+          })
+        })
+      }
+
+      return _param
+    }
+
     let arrFields = btn.verify.columns.map(col => col.field).join(',')
 
     let param = {
@@ -1036,8 +1096,6 @@
     // 鑾峰彇瀛楁閿�煎
     formlist.forEach(form => {
       let _key = form.key.toLowerCase()
-
-      if (_vars.includes(_key)) return
 
       _vars.push(_key)
 

--
Gitblit v1.8.0