From 25c8b70a193b3bb72256584307c6825f7472ed9c Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 17 十月 2024 16:20:46 +0800
Subject: [PATCH] 2024-10-17

---
 src/views/design/sidemenu/thdmenuform/index.jsx          |   15 +++++++
 src/views/design/sidemenu/index.jsx                      |    4 ++
 src/components/header/index.jsx                          |    4 +-
 src/views/design/header/editfirstmenu/menuform/index.jsx |   60 ++++++++++++++++-------------
 4 files changed, 54 insertions(+), 29 deletions(-)

diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx
index 22a4c4a..5d74131 100644
--- a/src/components/header/index.jsx
+++ b/src/components/header/index.jsx
@@ -292,7 +292,7 @@
 
           if (PageParam.OpenType === 'outpage' && PageParam.linkUrl) {
             fstItem.OpenType = 'newpage'
-            fstItem.src = PageParam.linkUrl
+            fstItem.src = window.GLOB.systemType === 'production' && PageParam.linkProUrl ? PageParam.linkProUrl : PageParam.linkUrl
             if (/#\/iframe\//.test(fstItem.src)) {
               fstItem.src = fstItem.src.replace(/@loginuid@/ig, sessionStorage.getItem('LoginUID'))
               fstItem.type = 'iframe'
@@ -348,7 +348,7 @@
 
                   if (trdItem.type === 'NewPage') {
                     trdItem.OpenType = 'newpage'
-                    trdItem.src = PageParam.url || ''
+                    trdItem.src = window.GLOB.systemType === 'production' && PageParam.proUrl ? PageParam.proUrl : PageParam.url || ''
                     if (/#\/iframe\//.test(trdItem.src)) {
                       trdItem.src = trdItem.src.replace(/@loginuid@/ig, sessionStorage.getItem('LoginUID'))
                       trdItem.type = 'iframe'
diff --git a/src/views/design/header/editfirstmenu/menuform/index.jsx b/src/views/design/header/editfirstmenu/menuform/index.jsx
index 998f74f..b446205 100644
--- a/src/views/design/header/editfirstmenu/menuform/index.jsx
+++ b/src/views/design/header/editfirstmenu/menuform/index.jsx
@@ -1,5 +1,6 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
+import { fromJS } from 'immutable'
 import { Form, Row, Col, Input, Radio } from 'antd'
 
 import Utils from '@/utils/utils.js'
@@ -44,6 +45,14 @@
         initVal: '',
         hidden: true,
         required: true
+      },
+      {
+        type: 'text',
+        key: 'linkProUrl',
+        label: '姝e紡鍦板潃',
+        initVal: '',
+        hidden: true,
+        required: false
       }
     ]
   }
@@ -53,17 +62,17 @@
 
     if (!menu) {
       this.setState({
-        formlist: this.state.defaultMenu
+        formlist: fromJS(this.state.defaultMenu).toJS()
       })
     } else {
       this.setState({
-        formlist: this.state.defaultMenu.map(item => {
+        formlist: fromJS(this.state.defaultMenu).toJS().map(item => {
           if (item.key === 'menuName') {
             item.initVal = menu.MenuName
           } else if (item.key === 'openType') {
             item.initVal = menu.PageParam.OpenType
-          } else if (item.key === 'linkUrl') {
-            item.initVal = menu.PageParam.linkUrl
+          } else if (item.key === 'linkUrl' || item.key === 'linkProUrl') {
+            item.initVal = menu.PageParam[item.key] || ''
             if (menu.PageParam.OpenType === 'menu') {
               item.hidden = true
             } else if (menu.PageParam.OpenType === 'outpage') {
@@ -78,21 +87,13 @@
 
   openTypeChange = (key, value) => {
     if (key === 'openType') {
-      let formlist = this.state.formlist
-      if (value === 'outpage') {
-        formlist.forEach(item => {
-          if (item.key === 'linkUrl') {
-            item.hidden = false
-            item.initVal = ''
-          }
-        })
-      } else {
-        formlist.forEach(item => {
-          if (item.key === 'linkUrl') {
-            item.hidden = true
-          }
-        })
-      }
+      let formlist = fromJS(this.state.formlist).toJS()
+
+      formlist.forEach(item => {
+        if (item.key === 'linkUrl' || item.key === 'linkProUrl') {
+          item.hidden = value !== 'outpage'
+        }
+      })
 
       this.setState({formlist})
     }
@@ -160,23 +161,28 @@
       this.props.form.validateFieldsAndScroll((err, values) => {
         if (err) return
 
+        let PageParam = {
+          OpenType: values.openType
+        }
+
+        if (values.openType !== 'menu') {
+          PageParam.linkUrl = values.linkUrl || ''
+          if (values.linkProUrl) {
+            PageParam.linkProUrl = values.linkProUrl
+          }
+        }
+
         if (!menu) {
           resolve({
             MenuID: Utils.getuuid(),
             MenuName: values.menuName,
-            PageParam: JSON.stringify({
-              OpenType: values.openType,
-              linkUrl: values.openType !== 'menu' ? values.linkUrl : ''
-            })
+            PageParam: JSON.stringify(PageParam)
           })
         } else {
           resolve({
             MenuID: menu.MenuID,
             MenuName: values.menuName,
-            PageParam: JSON.stringify({
-              OpenType: values.openType,
-              linkUrl: values.openType !== 'menu' ? values.linkUrl : ''
-            })
+            PageParam: JSON.stringify(PageParam)
           })
         }
       })
diff --git a/src/views/design/sidemenu/index.jsx b/src/views/design/sidemenu/index.jsx
index c8a061f..49a8a0d 100644
--- a/src/views/design/sidemenu/index.jsx
+++ b/src/views/design/sidemenu/index.jsx
@@ -133,6 +133,7 @@
       let _cell = fromJS(cell).toJS()
       _cell.Template = _cell.PageParam.Template
       _cell.url = _cell.PageParam.url || ''
+      _cell.proUrl = _cell.PageParam.proUrl || ''
 
       _cell.fstMenuId = _cell.FstId
       _cell.supMenuList = this.props.mainMenu.children
@@ -236,6 +237,9 @@
       if (sysMenu.Template === 'NewPage') {
         PageParam.OpenType = 'NewPage'
         PageParam.url = res.url
+        if (res.proUrl) {
+          PageParam.proUrl = res.proUrl
+        }
       }
 
       let param = {
diff --git a/src/views/design/sidemenu/thdmenuform/index.jsx b/src/views/design/sidemenu/thdmenuform/index.jsx
index 08ba9d6..a0564da 100644
--- a/src/views/design/sidemenu/thdmenuform/index.jsx
+++ b/src/views/design/sidemenu/thdmenuform/index.jsx
@@ -164,6 +164,21 @@
               })(<TextArea rows={3} />)}
             </Form.Item>
           </Col> : null}
+          {menu.Template === 'NewPage' ? <Col span={22}>
+            <Form.Item label={
+              <Tooltip placement="topLeft" title={<div onClick={(e) => e.stopPropagation()}>姝e紡绯荤粺鎺ュ彛鍦板潃锛屼负绌烘椂浣跨敤鈥滈摼鎺ュ湴鍧�鈥濄��</div>}><QuestionCircleOutlined className="mk-form-tip" />姝e紡鍦板潃</Tooltip>
+            }>
+              {getFieldDecorator('proUrl', {
+                initialValue: menu.proUrl || '',
+                rules: [
+                  {
+                    max: 1024,
+                    message: '鍦板潃鏈�闀夸负1024涓瓧绗�!'
+                  }
+                ]
+              })(<TextArea rows={3} />)}
+            </Form.Item>
+          </Col> : null}
         </Row>
       </Form>
     )

--
Gitblit v1.8.0