From ddddb07002201150da9551875c25e75499563249 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 15 一月 2021 15:22:55 +0800 Subject: [PATCH] 2021-01-15 --- src/menu/modelsource/index.jsx | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 51 insertions(+), 1 deletions(-) diff --git a/src/menu/modelsource/index.jsx b/src/menu/modelsource/index.jsx index 21d2a4c..03f268a 100644 --- a/src/menu/modelsource/index.jsx +++ b/src/menu/modelsource/index.jsx @@ -1,9 +1,14 @@ import React, {Component} from 'react' import { is, fromJS } from 'immutable' +import { Modal, notification } from 'antd' +import Api from '@/api' import { menuOptions } from './option' import SourceWrap from './dragsource' +import MKEmitter from '@/utils/events.js' import './index.scss' + +const { confirm } = Modal class ModelSource extends Component { state = { @@ -27,8 +32,53 @@ }) } + UNSAFE_componentWillReceiveProps (nextProps) { + if (nextProps.components && !is(fromJS(this.props.components), fromJS(nextProps.components))) { + this.setState({ + menuOptions: fromJS(nextProps.components).toJS() + }) + } + } + shouldComponentUpdate (nextProps, nextState) { return !is(fromJS(this.state), fromJS(nextState)) + } + + triggerDel = (item) => { + confirm({ + title: `纭畾鍒犻櫎<${item.title}>鍚楋紵`, + content: '', + onOk() { + return new Promise(resolve => { + Api.getSystemConfig({ + func: 's_custom_components_adduptdel', + c_id: item.uuid, + images: '', + c_name: item.title, + long_param: '', + del_type: 'Y' + }).then(result => { + if (result.status) { + notification.success({ + top: 92, + message: '鍒犻櫎鎴愬姛锛�', + duration: 5 + }) + + MKEmitter.emit('updateCustomComponent') + } else { + notification.warning({ + top: 92, + message: result.message, + duration: 5 + }) + } + resolve() + }) + }) + }, + onCancel() {} + }) } render() { @@ -36,7 +86,7 @@ return ( <div className="mob-card-source-box"> - {menuOptions.map((item, index) => (<SourceWrap key={index} content={item} />))} + {menuOptions.map((item, index) => (<SourceWrap key={index} item={item} triggerDel={this.triggerDel} />))} </div> ) } -- Gitblit v1.8.0