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