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/header/editfirstmenu/menuform/index.jsx |   60 +++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 33 insertions(+), 27 deletions(-)

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)
           })
         }
       })

--
Gitblit v1.8.0