import React, { Component } from 'react'; import { connect } from 'dva'; import { Input, Button, Form, Icon, message, Drawer, Modal } from 'antd'; // import Drawer from 'react-motion-drawer'; import PSelect from "../../../components/Pro/PSelect"; import './less/devices.less'; import * as api from "../../../services/api"; const FormItem = Form.Item; @connect(state => ({ profile: state.profile })) @Form.create() export default class EditDevicesDrawer extends Component { constructor(props, context) { super(props, context); this.state = { open: this.props.visible, curNum: 0, comEquipId: 0, comEquipList: { equipNo: '',//设备编号 equipName: '',//设备名称 equipType: '',//设备类型 }, visibleModal:false //提示框状态 }; } //表单提交 handleEditDeviceSubmit = (e) => { e.preventDefault(); this.props.form.validateFields((err, values) => { values.comEquipId = this.state.comEquipId; if (!err) { api.enterpriseEquipComEquipUpdateComEquip(values).then((data) => { message.success(data.msg); this.props.tableUpdate(); this.setState({ open: false, }); this.renderDate(this.state.comEquipId); }, (err1) => { message.error(err1); }); } }); }; componentWillReceiveProps(nextProps) { this.setState({ open: nextProps.visible }); if (nextProps.comEquipId !== this.state.comEquipId) { if (nextProps.comEquipId === 0 || nextProps.comEquipId === undefined) { return; } this.setState({ comEquipId: nextProps.comEquipId, curNum: nextProps.curNum }); this.renderDate(nextProps.comEquipId); } } renderDate = (pro) => { api.enterpriseEquipComEquipGetComEquipById({ comEquipId: pro }).then((data) => { const { setFieldsValue } = this.props.form; setFieldsValue({ equipNo: data.data.equipNo || '', equipName: data.data.equipName || '', equipType: data.data.equipType || '', }); this.setState({ comEquipList: { equipNo: data.data.equipNo || '', equipName: data.data.equipName || '', equipType: data.data.equipType || '', }, }); }, (err) => { console.log(err); }); } hideDrawer = () => { // this.setState({ open: false }); const values = this.props.form.getFieldsValue(); if(values.equipType !== this.state.comEquipList.equipType || values.equipNo !== this.state.comEquipList.equipNo || values.equipName !== this.state.comEquipList.equipName){ this.setState({ visibleModal: true, }); } else { this.handleModalOk(); } }; handleModalOk = () => { this.setState({ open:false, visibleModal:false }); } handleModalCancel = () =>{ this.setState({ visibleModal: false }); } //校验设备编号 checkNo = (rule, value, callback) => { if (value && (/[\u4e00-\u9fa5]+/).test(value)) { callback('设备编号格式不正确'); } else { callback(); } }; render() { const formItemLayout = { labelCol: { xs: { span: 24 }, sm: { span: 7 } }, wrapperCol: { xs: { span: 24 }, sm: { span: 17 }, md: { span: 17 } } }; const { getFieldDecorator } = this.props.form; return (
当前信息未保存,是否确认返回?