king
2024-10-17 25c8b70a193b3bb72256584307c6825f7472ed9c
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: '正式地址',
        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)
          })
        }
      })