From 42fae277ae5ebe794fc070bf38482a919eb661fc Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 25 十一月 2020 14:36:02 +0800 Subject: [PATCH] 2020-11-25 --- src/templates/sharecomponent/actioncomponent/index.jsx | 38 +++++++++++++++++++++++++------------- 1 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/templates/sharecomponent/actioncomponent/index.jsx b/src/templates/sharecomponent/actioncomponent/index.jsx index 11d168b..a0190f0 100644 --- a/src/templates/sharecomponent/actioncomponent/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/index.jsx @@ -28,8 +28,6 @@ type: PropTypes.string, // 鑿滃崟绫诲瀷锛屼富琛ㄦ垨瀛愯〃 menu: PropTypes.object, // 鑿滃崟淇℃伅锛堣彍鍗昳d锛岃彍鍗曞弬鏁帮紝鑿滃崟鍚嶇О锛� config: PropTypes.object, // 鑿滃崟閰嶇疆淇℃伅 - pasteContent: PropTypes.object, // 绮樿创閰嶇疆淇℃伅 - usefulFields: PropTypes.array, // 鑷畾涔夊嚱鏁板彲鐢ㄥ瓧娈� tabs: PropTypes.array, // 鎵�鏈夋爣绛� setSubConfig: PropTypes.func, // 璁剧疆瀛愰厤缃俊鎭� updateaction: PropTypes.func // 鑿滃崟閰嶇疆鏇存柊 @@ -61,10 +59,12 @@ UNSAFE_componentWillReceiveProps (nextProps) { const { actionlist } = this.state - if (nextProps.pasteContent && nextProps.pasteContent.copyType === 'action') { - this.setState({actionlist: [...actionlist, nextProps.pasteContent]}) - this.handleAction(nextProps.pasteContent) - } else if (!is(fromJS(nextProps.config.action), fromJS(this.props.config.action)) && !is(fromJS(nextProps.config.action), fromJS(actionlist))) { + if (!is(fromJS(nextProps.config.action), fromJS(this.props.config.action)) && !is(fromJS(nextProps.config.action), fromJS(actionlist))) { + let len = nextProps.config.action.length + let item = nextProps.config.action[len - 1] + if (item.copyType && item.focus) { + this.handleAction(item) + } this.setState({actionlist: fromJS(nextProps.config.action).toJS()}) } } @@ -138,7 +138,19 @@ */ handleAction = (card) => { const { menu } = this.props - let ableField = this.props.usefulFields.join(', ') + + let usefulFields = sessionStorage.getItem('permFuncField') + if (usefulFields) { + try { + usefulFields = JSON.parse(usefulFields) + } catch { + usefulFields = [] + } + } else { + usefulFields = [] + } + + let ableField = usefulFields.join(', ') let functip = <div> <p style={{marginBottom: '5px'}}>{this.state.dict['model.tooltip.func.innerface'].replace('@ableField', ableField)}</p> <p>{this.state.dict['model.tooltip.func.outface']}</p> @@ -172,7 +184,7 @@ this.setState({ visible: true, card: card, - formlist: getActionForm(card, functip, this.props.config, this.props.usefulFields, this.props.type, menulist, this.state.printTemps) + formlist: getActionForm(card, functip, this.props.config, usefulFields, this.props.type, menulist, this.state.printTemps) }) } @@ -180,18 +192,18 @@ * @description 鍙栨秷淇濆瓨锛屽鏋滃厓绱犱负鏂版坊鍏冪礌锛屽垯浠庡簭鍒椾腑鍒犻櫎 */ editModalCancel = () => { - const { card } = this.state + const { config } = this.props + const { card, actionlist } = this.state if (card.focus) { - let actionlist = fromJS(this.state.actionlist).toJS() - - actionlist = actionlist.filter(item => item.uuid !== card.uuid) + let _actionlist = actionlist.filter(item => item.uuid !== card.uuid) this.setState({ card: null, - actionlist: actionlist, + actionlist: _actionlist, visible: false }) + this.props.updateaction({...config, action: _actionlist}) } else { this.setState({ card: null, -- Gitblit v1.8.0