/** * 钟是志 * 2020年5月25日 18:03:24 * 一站式请勿使用此组件 * 拖拽配置 打印数据页面 * 用于中医大评奖评优 奖状打印 * 后续可以会应用于其他学校的其他 打印. * */ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import DragSetting from './DragSetting'; import Shell from '@/baseComponent/Shell'; import ButtonDiy from '@/baseComponent/ButtonDiy'; import { message } from 'antd'; import { saveConfig, queryConfig } from './services'; export default class Index extends Component { constructor(props) { super(props); this.state = { configAll: null, }; this.getConfigInfo = queryConfig.bind(this); } updateConfig = ({ id, x, y }) => { const { configAll } = this.state; for (const item of configAll.config) { if (item.id + '' === id) { item.x = x; item.y = y; } } this.setState({ configAll, }); }; saveConfig = () => { const { configAll: { config }, } = this.state; saveConfig({ contentStr: JSON.stringify(config), }).then((x) => { if (x) { message.success('保存成功'); } }); }; componentDidMount() { this.getConfigInfo(); } render() { const { configAll } = this.state; if (!configAll || !configAll.backgroundUrl) { return null; } // console.log(configAll); return ( <Shell styleShell={{ marginTop: '0', marginBottom: '20px' }}> <div style={{ height: '54px', padding: '12px 0 24px 12px' }}> <ButtonDiy name="保存" className="primary" handleClick={this.saveConfig} /> </div> <DragSetting backgroundUrl={configAll.backgroundUrl} updateConfig={this.updateConfig} configAll={configAll} /> </Shell> ); } } Index.propTypes = { code: PropTypes.string.isRequired, // 后端配置的表里面的code 用于获取所有的配置项 }; Index.defaultProps = { code: 'award', };