From 8d66ff34fae5b048a6b7923cc75d34f13a08be9d Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 02 八月 2022 11:42:43 +0800 Subject: [PATCH] Merge branch 'develop' --- src/menu/components/card/cardsimplecomponent/index.jsx | 88 +++++++++++++++++++++++++++++++++----------- 1 files changed, 66 insertions(+), 22 deletions(-) diff --git a/src/menu/components/card/cardsimplecomponent/index.jsx b/src/menu/components/card/cardsimplecomponent/index.jsx index f6dff48..eea36ff 100644 --- a/src/menu/components/card/cardsimplecomponent/index.jsx +++ b/src/menu/components/card/cardsimplecomponent/index.jsx @@ -1,7 +1,8 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { is, fromJS } from 'immutable' -import { Popover, Icon } from 'antd' +import { Popover } from 'antd' +import { PlusOutlined, PlusSquareOutlined, EditOutlined, ArrowLeftOutlined, ArrowRightOutlined, SwapOutlined, ToolOutlined, DeleteOutlined, FontColorsOutlined } from '@ant-design/icons' import asyncComponent from '@/utils/asyncComponent' import asyncIconComponent from '@/utils/asyncIconComponent' @@ -9,9 +10,10 @@ import { getTableSetting, getCarouselSetting } from './options' import Utils from '@/utils/utils.js' import MKEmitter from '@/utils/events.js' -import './index.scss' +// import './index.scss' const NormalForm = asyncIconComponent(() => import('@/components/normalform')) +const NodesWrap = asyncComponent(() => import('./node-wrap')) const CardCellComponent = asyncComponent(() => import('../cardcellcomponent')) const CopyComponent = asyncIconComponent(() => import('@/menu/components/share/copycomponent')) @@ -27,6 +29,7 @@ state = { card: null, // 鍗$墖淇℃伅 formlist: null, // 璁剧疆琛ㄥ崟淇℃伅 + appType: sessionStorage.getItem('appType') } /** @@ -100,6 +103,8 @@ newcard.padding = '5px' newcard.align = 'left' + window.GLOB.$lock = false + // 娉ㄥ唽浜嬩欢-娣诲姞鍏冪礌 MKEmitter.emit('cardAddElement', [cards.uuid, card.uuid], newcard) } @@ -134,22 +139,56 @@ getSettingForms = () => { const { cards } = this.props - const { setting } = this.state.card + const { card } = this.state if (cards.type !== 'carousel') { - return getTableSetting(setting, cards.columns) + let buttons = [] + card.elements && card.elements.forEach(item => { + if (item.eleType === 'button') { + buttons.push({ + value: item.uuid, + label: item.label + }) + } + }) + return getTableSetting(card.setting, cards.columns, buttons, cards.action) } else { - return getCarouselSetting(setting, cards.subtype === 'propcard') + return getCarouselSetting(card.setting, cards.subtype === 'propcard') } } - updateSetting = (res) => { + updateNodes = (res) => { const { card } = this.state - if (res.appmenu) { - res.menu = res.appmenu + this.setState({ + card: {...card, nodes: res} + }) + + this.props.updateElement({...card, nodes: res}) + } + + updateSetting = (res) => { + const { card, appType } = this.state + + if (appType === '' && res.menu) { + let list = null + try { + list = JSON.parse(sessionStorage.getItem('thdMenuList')) || [] + } catch (e) { + list = [] + } + + let id = res.menu[res.menu.length - 1] + + list.forEach(item => { + if (item.MenuID === id) { + res.MenuID = id + res.MenuName = item.MenuName + res.MenuNo = item.MenuNo + res.tabType = item.type + } + }) } - delete res.appmenu let _card = {...card, setting: res} @@ -166,6 +205,11 @@ if (cards.type === 'carousel') { _style.height = cards.style.height } + + let control = true + if (cards.subtype === 'datacard' || cards.type === 'timeline') { + control = false + } _style = resetStyle(_style) @@ -176,25 +220,25 @@ <div className="card-control"> <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> - <Icon className="plus" title="娣诲姞鍏冪礌" onClick={this.addElement} type="plus" /> - <Icon className="plus" title="娣诲姞鎸夐挳" onClick={this.addButton} type="plus-square" /> - <NormalForm title="鍗$墖璁剧疆" width={700} update={this.updateSetting} getForms={this.getSettingForms}> - <Icon type="edit" style={{color: '#1890ff'}} title="缂栬緫"/> - </NormalForm> - <CopyComponent type="cardcell" card={card}/> - <Icon className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle} type="font-colors" /> - {cards.subtype !== 'datacard' ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ + <PlusOutlined className="plus" title="娣诲姞鍏冪礌" onClick={this.addElement}/> + <PlusSquareOutlined className="plus" title="娣诲姞鎸夐挳" onClick={this.addButton}/> + {cards.type !== 'timeline' ? <NormalForm title="鍗$墖璁剧疆" width={800} update={this.updateSetting} getForms={this.getSettingForms}> + <EditOutlined style={{color: '#1890ff'}} title="缂栬緫"/> + </NormalForm> : <NodesWrap card={card} updateMenus={this.updateNodes}/>} + {cards.type !== 'timeline' ? <CopyComponent type="cardcell" card={card}/> : null} + <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle}/> + {control ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> - <Icon className="plus" title="鍓嶇Щ" type="arrow-left" onClick={() => this.props.move(card, 'left')} /> - <Icon className="close" title="鍚庣Щ" type="arrow-right" onClick={() => this.props.move(card, 'right')} /> + <ArrowLeftOutlined className="plus" title="鍓嶇Щ" onClick={() => this.props.move(card, 'left')} /> + <ArrowRightOutlined className="close" title="鍚庣Щ" onClick={() => this.props.move(card, 'right')} /> </div> } trigger="hover" getPopupContainer={() => document.getElementById(card.uuid + 'swap')}> - <Icon type="swap" id={card.uuid + 'swap'}/> + <SwapOutlined id={card.uuid + 'swap'}/> </Popover> : null} - {cards.subtype !== 'datacard' ? <Icon className="close" title="鍒犻櫎鍗$墖" type="delete" onClick={() => this.props.deleteElement(card)} /> : null} + {control ? <DeleteOutlined className="close" title="鍒犻櫎鍗$墖" onClick={() => this.props.deleteElement(card)} /> : null} </div> } trigger="hover"> - <Icon type="tool" /> + <ToolOutlined/> </Popover> </div> </div> -- Gitblit v1.8.0