From c98e45bfac25e9110ad0383faac54a54d98ea9d5 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 18 十一月 2021 20:47:04 +0800 Subject: [PATCH] 2021-11-18 --- src/mob/components/navbar/normal-navbar/menusetting/menutable/index.jsx | 65 +++++++++++++++++++------------- 1 files changed, 39 insertions(+), 26 deletions(-) diff --git a/src/mob/components/navbar/normal-navbar/menusetting/menutable/index.jsx b/src/mob/components/navbar/normal-navbar/menusetting/menutable/index.jsx index 8fc36cf..25a5ee3 100644 --- a/src/mob/components/navbar/normal-navbar/menusetting/menutable/index.jsx +++ b/src/mob/components/navbar/normal-navbar/menusetting/menutable/index.jsx @@ -5,14 +5,15 @@ import MenuForm from '../menuform' import Utils from '@/utils/utils.js' -import MKEmitter from '@/utils/events.js' +// import MKEmitter from '@/utils/events.js' import './index.scss' const { confirm } = Modal class MenuTable extends Component { static propTpyes = { - menus: PropTypes.object, // 鍗$墖琛屼俊鎭� + menus: PropTypes.array, // 鍗$墖琛屼俊鎭� + cols: PropTypes.array, // 瀛楁闆� } state = { @@ -22,9 +23,12 @@ { title: '鑿滃崟鍚嶇О', dataIndex: 'name', key: 'name' }, { title: '鑿滃崟鍙傛暟', dataIndex: 'MenuNo', key: 'MenuNo' }, { title: '鑿滃崟灞炴��', dataIndex: 'property', key: 'property', render: text => { - const trans = {menu: '鑿滃崟', link: '閾炬帴', linkmenu: '鍏宠仈鑿滃崟'} + const trans = {menu: '鑿滃崟', link: '閾炬帴', linkmenu: '鍏宠仈鑿滃崟', sysmenu: '绯荤粺椤�'} return trans[text] + }}, + { title: '鍥炬爣', dataIndex: 'icon', key: 'icon', render: (text, record) => { + return text ? <Icon type={text} /> : '' }}, { title: '鏄惁闅愯棌', dataIndex: 'hidden', key: 'hidden', render: (text, record) => { const trans = {'true': '鏄�', 'false': '鍚�'} @@ -80,20 +84,10 @@ const _this = this confirm({ - title: (record.property === 'classify' && record.sublist.length > 0 ? '鑿滃崟涓嬪惈鏈夊瓙鑿滃崟锛�' : '') + '纭畾鍒犻櫎鍚楋紵', + title: '纭畾鍒犻櫎鍚楋紵', content: '', onOk() { _this.setState({data: data.filter(item => item.MenuID !== record.MenuID)}) - - let uuids = [record.MenuID] - record.sublist && record.sublist.forEach(item => { - uuids.push(item.MenuID) - - item.sublist && item.sublist.forEach(cell => { - uuids.push(cell.MenuID) - }) - }) - MKEmitter.emit('delButtons', uuids) }, onCancel() {} }) @@ -117,21 +111,38 @@ this.menuRef.handleConfirm().then(res => { let _menu = {...editMenu, ...res} + let _data = fromJS(data).toJS() + if (!_menu.MenuID) { _menu.MenuID = Utils.getuuid() - this.setState({data: [...data, _menu], editMenu: null, visible: false}) + _data.push(_menu) } else { - this.setState({ - editMenu: null, - visible: false, - data: data.map(item => { - if (item.MenuID === _menu.MenuID) { - return _menu - } else { - return item - } - }) + _data = _data.map(item => { + if (item.MenuID === _menu.MenuID) { + return _menu + } else { + return item + } }) + } + + if (editMenu.MenuID && editMenu.property === 'menu' && _menu.property !== 'menu') { + const _this = this + confirm({ + content: '鑿滃崟灏嗚閲嶇疆锛岀‘瀹氫慨鏀瑰悧锛�', + onOk() { + _data = _data.map(item => { + if (item.MenuID === _menu.MenuID) { + item.MenuID = Utils.getuuid() + } + return item + }) + _this.setState({data: _data, editMenu: null, visible: false}) + }, + onCancel() {} + }) + } else { + this.setState({data: _data, editMenu: null, visible: false}) } }) } @@ -151,6 +162,7 @@ } render() { + const { cols } = this.props const { columns, data, visible, editMenu } = this.state return ( @@ -165,7 +177,7 @@ <Modal title="缂栬緫" visible={visible} - width={600} + width={900} maskClosable={false} onOk={this.menuSubmit} onCancel={() => { this.setState({ visible: false }) }} @@ -173,6 +185,7 @@ > <MenuForm menu={editMenu} + cols={cols} inputSubmit={this.menuSubmit} wrappedComponentRef={(inst) => this.menuRef = inst} /> -- Gitblit v1.8.0