From 24842b40de5cd60700bf69dfd38a0332f5431e36 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 23 五月 2025 10:55:07 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/tabviews/zshare/actionList/printbutton/index.jsx |  111 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 103 insertions(+), 8 deletions(-)

diff --git a/src/tabviews/zshare/actionList/printbutton/index.jsx b/src/tabviews/zshare/actionList/printbutton/index.jsx
index 84ea3d6..8b330d2 100644
--- a/src/tabviews/zshare/actionList/printbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/printbutton/index.jsx
@@ -143,7 +143,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       return
@@ -180,6 +180,7 @@
       let modal = this.state.btnconfig
       if (!modal && btn.modal) {
         modal = this.handleModelConfig(btn.modal)
+        modal.uuid = btn.uuid
       }
 
       this.setState({
@@ -557,9 +558,47 @@
     const { btn } = this.props
 
     let callback = null
+    let printReject = null
+    let skip = false
+    let send = false
+
+    let data = fromJS({
+      data: printlist,
+      form: formdata
+    }).toJS()
+
+    if (!window.GLOB.errorLog) {
+      printReject = (msg) => {
+        if (send) return
+
+        send = true
+        data.message = msg
+
+        window.mkInfo(JSON.stringify(data))
+      }
+    } else {
+      printReject = (msg) => {
+        if (send) return
+
+        send = true
+        data.message = msg
+
+        let param = {
+          func: 's_special_error_note_log',
+          api_url: btn.logLabel,
+          error_code: 507,
+          error_time: moment().format('YYYY-MM-DD HH:mm:ss'),
+          api_param: JSON.stringify(data)
+        }
+        Api.genericInterface(param)
+      }
+    }
 
     if (/callback\(\)/.test(btn.verify.printFunc)) {
       callback = () => {
+        if (skip) return
+        skip = true
+
         this.execSuccess({
           ErrCode: '-1',
           message: '',
@@ -576,8 +615,8 @@
 
     try {
       // eslint-disable-next-line
-      let func = new Function('data', 'form', 'printer', 'notification', 'Api', 'systemType', 'callback', btn.verify.printFunc)
-      func(printlist, formdata, btn.verify, notification, Api, window.GLOB.systemType, callback)
+      let func = new Function('data', 'form', 'printer', 'notification', 'Api', 'systemType', 'callback', 'printReject', btn.verify.printFunc)
+      func(printlist, formdata, btn.verify, notification, Api, window.GLOB.systemType, callback, printReject)
 
       // 鑷畾涔夋墦鍗扮ず渚�
       // let defaultPrinter = printer.defaultPrinter || 'lackprinter'
@@ -778,6 +817,8 @@
         message: window.GLOB.dict['func_error'] || '鑷畾涔夊嚱鏁版墽琛岄敊璇紒',
         duration: 5
       })
+
+      printReject(window.GLOB.dict['func_error'] || '鑷畾涔夊嚱鏁版墽琛岄敊璇紒')
     }
   }
 
@@ -967,7 +1008,7 @@
 
         let val = form.value
         if (form.type === 'number' || form.type === 'rate') {
-          if (isNaN(val)) {
+          if (isNaN(val) || val === '') {
             val = 0
           }
         } else if (['date', 'datemonth'].includes(form.type)) {
@@ -1057,8 +1098,15 @@
       _dataresource = ''
     }
 
+    let custompage = false
+
+    if (/order\s+by\s+sort_id\s*$/i.test(_dataresource)) {
+      custompage = true
+    } else if (/@pageSize@|@orderBy@|@mk_total/i.test(_dataresource + _customScript + _tailScript)) {
+      custompage = true
+    }
+    
     let isDataM = sessionStorage.getItem('dataM') === 'true'
-    let custompage = /@pageSize@|@orderBy@|@mk_total/i.test(_dataresource + _customScript + _tailScript)
     let regoptions = [
       { reg: /@orderBy@/ig, value: btn.verify.setting.order },
       { reg: /@pageSize@/ig, value: '9999' },
@@ -1101,7 +1149,7 @@
 
       if (form.type === 'number' || form.type === 'rate') {
         let val = form.value
-        if (isNaN(val)) {
+        if (isNaN(val) || val === '') {
           val = 0
         }
         _initvars.push(`@${_key}=${val}`)
@@ -1693,6 +1741,41 @@
     const { btn } = this.props
     const { dict } = this.state
 
+    let printReject = null
+    let send = false
+
+    let data = fromJS({ 
+      data: list,
+      template: template
+    }).toJS()
+
+    if (!window.GLOB.errorLog) {
+      printReject = (msg) => {
+        if (send) return
+
+        send = true
+        data.message = msg
+
+        window.mkInfo(JSON.stringify(data))
+      }
+    } else {
+      printReject = (msg) => {
+        if (send) return
+
+        send = true
+        data.message = msg
+
+        let param = {
+          func: 's_special_error_note_log',
+          api_url: btn.logLabel,
+          error_code: 507,
+          error_time: moment().format('YYYY-MM-DD HH:mm:ss'),
+          api_param: JSON.stringify(data)
+        }
+        Api.genericInterface(param)
+      }
+    }
+
     let _errors = []
 
     let defaultPrinter = btn.verify.defaultPrinter || 'lackprinter'
@@ -1905,6 +1988,8 @@
           message: data.message,
           status: false
         })
+
+        printReject(data.message)
       }
     }
 
@@ -2129,6 +2214,7 @@
         } else {
           _LongParam = updateForm(_LongParam)
           _LongParam = this.handleModelConfig(_LongParam)
+          _LongParam.uuid = btn.uuid
 
           this.setState({
             btnconfig: _LongParam
@@ -2203,6 +2289,10 @@
       let key = item.field.toLowerCase()
       let _readin = item.readin !== 'false'
 
+      if (item.type === 'linkMain' && item.verifyVal === 'true') {
+        _item.$verify = true
+        _item.label = item.label
+      }
       if (_item.type === 'date') { // 鏃堕棿鍏煎
         _item.precision = item.precision || 'day'
       } else if (_item.type === 'datetime') {
@@ -2271,8 +2361,13 @@
             _item.value = _item.value.replace(/(^\s*|\s*$)/g, '')
           }
         }
-        if (_item.type === 'text' && /@appkey@|@SessionUid@|@bid@/ig.test(_item.value)) { // 鐗规畩瀛楁鏇挎崲
-          _item.value = _item.value.replace(/^(\s*)@appkey@(\s*)$/ig, window.GLOB.appkey).replace(/^(\s*)@SessionUid@(\s*)$/ig, (localStorage.getItem('SessionUid') || '')).replace(/^(\s*)@bid@(\s*)$/ig, (this.props.BID || ''))
+        if (_item.type === 'text') {
+          if (/@appkey@|@SessionUid@|@bid@/ig.test(_item.value)) { // 鐗规畩瀛楁鏇挎崲
+            _item.value = _item.value.replace(/^(\s*)@appkey@(\s*)$/ig, window.GLOB.appkey).replace(/^(\s*)@SessionUid@(\s*)$/ig, (localStorage.getItem('SessionUid') || '')).replace(/^(\s*)@bid@(\s*)$/ig, (this.props.BID || ''))
+          }
+          if (/@currentYear@/ig.test(_item.value)) { // 绯荤粺鍙橀噺鏇挎崲
+            _item.value = _item.value.replace(/@currentYear@/ig, moment().format('YYYY'))
+          }
         }
         if (_item.type === 'text' && item.lenControl && item.lenControl !== 'limit') {
           if (item.lenControl === 'left') {

--
Gitblit v1.8.0