From c7f736f82a3e5d232fc9e19a4b60693355487ab3 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 03 五月 2025 23:44:07 +0800
Subject: [PATCH] 2025-05-03

---
 src/views/design/header/index.jsx            |    5 -
 src/views/appmanage/index.jsx                |    2 
 src/views/billprint/index.jsx                |   36 +++++++++++
 src/utils/utils-custom.js                    |   17 +++--
 src/views/design/header/transmenu/index.jsx  |   15 +---
 src/views/login/index.jsx                    |   17 -----
 src/views/menudesign/printmenuform/index.jsx |   29 +++++++++
 7 files changed, 82 insertions(+), 39 deletions(-)

diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index 2e221c7..e66d16d 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -2431,6 +2431,8 @@
  * @description 鑾峰彇璇█杞崲淇℃伅
  */
 export function getLangTrans (config) {
+  if (sessionStorage.getItem('lang') !== 'zh-CN') return ''
+
   let langList = sessionStorage.getItem('langList')
   let appType = sessionStorage.getItem('appType')
 
@@ -2438,18 +2440,19 @@
     langList = sessionStorage.getItem('applangList')
   }
   
-  if (!langList) return
-
-  let defLang = ''
+  if (!langList) return ''
 
   try {
     langList = JSON.parse(langList)
-    defLang = langList[0]
   } catch (e) {
-    defLang = ''
+    langList = ''
   }
 
-  if (!defLang) return ''
+  if (!langList) return ''
+
+  langList = langList.filter(n => n !== 'zh-CN')
+
+  if (langList.length === 0) return ''
 
   let sql = []
   let btn = []
@@ -2778,8 +2781,6 @@
   let result = []
 
   langList.forEach(lan => {
-    if (lan === defLang) return
-
     list.forEach(n => {
       result.push(`'${lan}',${n}`)
     })
diff --git a/src/views/appmanage/index.jsx b/src/views/appmanage/index.jsx
index 88bbad2..da7e730 100644
--- a/src/views/appmanage/index.jsx
+++ b/src/views/appmanage/index.jsx
@@ -746,7 +746,6 @@
       })
     }
     if (applangList.length) {
-      applangList.unshift('zh-CN')
       applangList = JSON.stringify(applangList)
     } else {
       applangList = ''
@@ -769,7 +768,6 @@
       })
     }
     if (applangList.length) {
-      applangList.unshift('zh-CN')
       applangList = JSON.stringify(applangList)
     } else {
       applangList = ''
diff --git a/src/views/billprint/index.jsx b/src/views/billprint/index.jsx
index a202327..4f2aa10 100644
--- a/src/views/billprint/index.jsx
+++ b/src/views/billprint/index.jsx
@@ -619,9 +619,10 @@
           params.unshift(_pars)
         } else if (window.backend && config.allSqls && params.length > 0) {
           let data = []
+          let ids = []
           params = params.filter(item => {
             if (!item.$backend || item.public) return true
-
+            ids.push(item.componentId)
             item.data[0].exps.forEach(cell => {
               if (cell.key === 'mk_obj_name') {
                 cell.value = 'mk' + item.componentId.slice(-18)
@@ -635,6 +636,7 @@
               $backend: true,
               $type: 's_Get_TableData',
               componentId: '',
+              componentIds: ids,
               data
             })
           }
@@ -668,6 +670,8 @@
           
           if (params.length === 0 && initInters.length === 0) {
             this.setState({loadingview: false, pages: [config.components]})
+
+            this.autoExec()
           } else if (initInters.length > 0) {
             this.loadinit(initInters, params)
           } else {
@@ -983,6 +987,8 @@
     Promise.all(deffers).then(() => {
       if (params.length === 0) {
         this.setState({loadingview: false, pages: [this.state.config.components]})
+
+        this.autoExec()
       } else {
         this.loadmaindata(params)
       }
@@ -997,7 +1003,9 @@
 
     let deffers = params.map(item => {
       let componentId = item.componentId
+      let ids = item.componentIds
       delete item.componentId
+      delete item.componentIds
       delete item.public
       return new Promise(resolve => {
         Api.genericInterface(item).then(res => {
@@ -1015,6 +1023,20 @@
               })
             }
             resolve(false)
+          } else if (ids) {
+            ids.forEach(id => {
+              let _id = 'mk' + id.slice(-18)
+
+              if (res[_id]) {
+                let _data = { $$empty: true }
+                if (res[_id][0]) {
+                  _data = res[_id][0]
+                }
+                window.GLOB.CacheData.set(id, _data)
+              }
+            })
+
+            resolve(res)
           } else {
             res.componentId = componentId
 
@@ -1185,9 +1207,21 @@
       })
 
       this.setState({loadingview: false, pages, rePos})
+
+      this.autoExec()
     })
   }
 
+  autoExec = () => {
+    const { config } = this.state
+
+    if (config.autoExec !== 'true') return
+
+    setTimeout(() => {
+      this.print()
+    }, config.autoExecSplit || 500)
+  }
+
   reloadTabs = () => {
     if (this.reloading) return
 
diff --git a/src/views/design/header/index.jsx b/src/views/design/header/index.jsx
index 20ba503..dcb9ef0 100644
--- a/src/views/design/header/index.jsx
+++ b/src/views/design/header/index.jsx
@@ -26,7 +26,6 @@
     userName: sessionStorage.getItem('CloudUserName'),
     avatar: Utils.getrealurl(sessionStorage.getItem('CloudAvatar')),
     logo: sessionStorage.getItem('CloudLogo') || MainLogo,
-    subLang: sessionStorage.getItem('subLangList') !== null,
     visible: false,
     loading: false
   }
@@ -412,7 +411,7 @@
 
   render () {
     const { mainMenu, editLevel } = this.props
-    const { menulist, visible, loading, logo, subLang } = this.state
+    const { menulist, visible, loading, logo } = this.state
 
     return (
       <header className={'sys-header-container ant-menu-dark ' + (['level2', 'level3'].includes(editLevel) ? 'mask' : '')} id="main-header-container">
@@ -496,7 +495,7 @@
               缂栬緫
             </Button>
           </div> : null}
-          {window.GLOB.systemType !== 'production' && subLang ? <div className="entrance">
+          {window.GLOB.systemType !== 'production' && sessionStorage.getItem('lang') !== 'zh-CN' ? <div className="entrance">
             <div className="icon"><PlusOutlined /></div>
             <div className="title">鑿滃崟杞崲</div>
             <div className="detail">鍙�夋嫨姣嶈绯荤粺鐨勮彍鍗曪紝蹇�熻浆鎹㈠埌褰撳墠璇█銆傛墦鍗版ā鏉胯鍦℉S涓嬪鍒跺悗锛屽湪姝ゅ閫夋嫨鎸囧畾妯℃澘杩涜璇█杞崲銆�</div>
diff --git a/src/views/design/header/transmenu/index.jsx b/src/views/design/header/transmenu/index.jsx
index 805f411..6ce5336 100644
--- a/src/views/design/header/transmenu/index.jsx
+++ b/src/views/design/header/transmenu/index.jsx
@@ -16,7 +16,6 @@
     visible: false,
     loading: false,
     saveing: false,
-    lang: '',
     type: '',
     dicts: [],
     menus: [],
@@ -31,11 +30,7 @@
   }
 
   trigger = () => {
-    let langs = sessionStorage.getItem('subLangList')
-    langs = JSON.parse(langs)
-
     this.setState({
-      lang: langs[0],
       loading: true,
       visible: true,
       saveing: false,
@@ -45,7 +40,7 @@
     })
     
     this.getDicts()
-    this.getMenus(langs[0])
+    this.getMenus()
   }
   
   getDicts = () => {
@@ -78,7 +73,7 @@
     })
   }
 
-  getMenus = (lang) => {
+  getMenus = () => {
     if (this.state.menus.length > 0) {
       this.setState({loading: false})
       return
@@ -88,7 +83,7 @@
       func: 's_get_pc_menus',
       systemType: window.GLOB.sysType,
       pro_sys: '',
-      lang: lang,
+      lang: 'zh-CN',
       debug: 'Y'
     }
 
@@ -327,12 +322,12 @@
 
   transThdMenu = (menu, reload) => {
     const { menulist } = this.props
-    const { lang, dicts } = this.state
+    const { dicts } = this.state
 
     let _param = {
       func: 'sPC_Get_LongParam',
       MenuID: menu.value,
-      lang: lang
+      lang: 'zh-CN'
     }
 
     let creat = true
diff --git a/src/views/login/index.jsx b/src/views/login/index.jsx
index ae8d6ce..f7dbf17 100644
--- a/src/views/login/index.jsx
+++ b/src/views/login/index.jsx
@@ -298,7 +298,6 @@
     // md5("/ws/location/v1/ip?callback=callbackFunction&key=key&output=jsonp secret key")
     // md5("/ws/location/v1/ip?callback=callbackFunction&key=BA7BZ-4QB65-LFCIA-QPDA6-4G6O7-MJB4Q&output=jsonpuThL4ZM3XOj642ksEQh76tyHFjh4")
 
-    sessionStorage.removeItem('subLangList')
     sessionStorage.removeItem('langList')
 
     setTimeout(() => {
@@ -741,20 +740,8 @@
             }
 
             if (res.lang_data && res.lang_data.length > 1 && window.GLOB.systemType !== 'production') {
-              let list = res.lang_data.map(item => item.Lang)
-              let lang = 'zh-CN'
-              if (window.GLOB.defLang && list.includes(window.GLOB.defLang)) {
-                lang = window.GLOB.defLang
-              }
-
-              if (list.includes(lang)) {
-                list = [lang, ...list.filter(item => item !== lang)]
-                if (lang === sessionStorage.getItem('lang')) {
-                  sessionStorage.setItem('langList', JSON.stringify(list))
-                } else {
-                  sessionStorage.setItem('subLangList', JSON.stringify(list))
-                }
-              }
+              let list = res.lang_data.map(item => item.Lang).filter(n => n !== 'zh-CN')
+              sessionStorage.setItem('langList', JSON.stringify(list))
             }
 
             if (res.lang_data.length === 1 && res.lang_data[0].Lang !== sessionStorage.getItem('lang')) {
diff --git a/src/views/menudesign/printmenuform/index.jsx b/src/views/menudesign/printmenuform/index.jsx
index 5aff337..c015b1e 100644
--- a/src/views/menudesign/printmenuform/index.jsx
+++ b/src/views/menudesign/printmenuform/index.jsx
@@ -245,6 +245,35 @@
               </Form.Item>
             </Col> : null}
             <Col span={24}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="鍚敤鏃讹紝鍦ㄨ彍鍗曞畬鎴愭暟鎹姞杞藉悗鑷姩瑙﹀彂鎵撳嵃棰勮銆�">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  鑷姩鎵撳嵃
+                </Tooltip>
+              }>
+                {getFieldDecorator('autoExec', {
+                  initialValue: config.autoExec || 'false'
+                })(
+                  <Radio.Group onChange={(e) => this.selectChange('autoExec', e.target.value)}>
+                    <Radio value="false">涓嶅惎鐢�</Radio>
+                    <Radio value="true">鍚敤</Radio>
+                  </Radio.Group>
+                )}
+              </Form.Item>
+            </Col>
+            {config.autoExec === 'true' ? <Col span={24}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="鑷姩瑙﹀彂鎵撳嵃棰勮鐨勫欢杩熸椂闂达紝鍗曚綅姣銆�">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  寤惰繜鏃堕棿
+                </Tooltip>
+              }>
+                {getFieldDecorator('autoExecSplit', {
+                  initialValue: config.autoExecSplit || 500
+                })(<InputNumber min={1} max={9999} precision={0} onChange={(val) => this.selectChange('autoExecSplit', val)}/>)}
+              </Form.Item>
+            </Col> : null}
+            <Col span={24}>
               <Form.Item label="鍥炶皟">
                 {getFieldDecorator('callback', {
                   initialValue: config.callback || 'false'

--
Gitblit v1.8.0