import React, { PureComponent } from "react"; import moment from 'moment'; import { connect } from "dva"; import style from "styled-components"; import { Input, Button, message, DatePicker, Checkbox, Modal, Form, TreeSelect, Drawer } from 'antd'; // import Drawer from 'react-motion-drawer'; import PTable from "../../../components/Pro/PTable"; import EditIncentive from "./EditIncentive"; import { addComSecurityAward, deleteComSecurityAwardById, getTreeperBydepart } from "../../../services/api"; import PSelect from "../../../components/Pro/PSelect"; import PZhezhao from "../../../components/Pro/PZhezhao"; import $perModal from '../../../utils/modal/perModal'; const FormItem = Form.Item; const dateFormat = 'YYYY-MM-DD'; const { confirm } = Modal; const { RangePicker } = DatePicker; const { TextArea } = Input; const config = { rules: [ { type: 'object', required: false, message: '请选择日期!' } ] }; //首次验证trim() function validateTrim(v){ return v === undefined ? v : v.trim(); } @connect(state => ({ profile: state.profile })) @Form.create() export default class Incentive extends PureComponent { constructor(props, context) { super(props, context); this.state = { visible: false, open: false, //新增 openEdit: false, //修改 awardId: 0, //id forceUpdate: false, showPerId: 0, valueTree: [], // treeData: [//树 // { // title: "", // key: "" // } // ], pageParm: { pageSize: "10", pageNumber: "1", keyWords: "", startDate: "", endDate: "", }, keyWords: "", startDate: "", endDate: "", }; } componentDidMount() { // getTreeperBydepart({}).then(response => { // const data = this.checkMember(response.data); // this.setState({ treeData: data }); // }, err => { // console.log(err, "getTreeperBydepart-err"); // }); } // 遍历部门人员数据 checkMember(data) { data = data.map(item => { if (item.children && item.children.length) { let needDisable = true; const temp = subItem => { subItem.filter(tempItem => { if (tempItem.children && tempItem.children.length) { temp(tempItem.children); return tempItem; } else { if (tempItem.treeType === '2') { needDisable = false; } return tempItem; } }); }; temp(item.children); needDisable ? (item.disableCheckbox = true) : null; this.checkMember(item.children); return item; } else { if (item.treeType !== '2') { item.disableCheckbox = true; item.disabled = true; item.isLeaf = true; } return item; } }); return data; } //时间选择 onChangeTime = (date, dateString) => { this.setState({ startDate: dateString[0], endDate: dateString[1] }); }; //修改 editDrawer = (awardId) => { this.setState({ awardId }); this.setState({ openEdit: true }); }; //增加 addDrawer = () => { this.setState({ open: true }); }; //输入框的书写 inputSerchIncentiveChange = (e) => { console.log(e.target.value.trim()); this.setState({ keyWords: e .target .value .trim() }); }; //报表类型 change pSelectChange = (value, type) => { this.setState({ [type]: value }); }; hideModal = () => { // this.setState({ // visible: true, // }); const values = this.props.form.getFieldsValue(); if (values.awardContent || values.awardDate || values.awardReason || values.awardType || values.awardUnit || values.remark !== '' || this.state.valueTree.length !== 0) { console.log(values); this.setState({ visible: true, }); } else { this.handleModalOk(); } }; handleModalOk = (e) => { console.log(e); this.setState({ visible: false, open: false, valueTree: [], }); }; handleModalCancel = (e) => { console.log(e); this.setState({ visible: false, }); }; //刷新方法 tableUpdate = () => { this.setState({ forceUpdate: true }, () => { this.setState({ forceUpdate: false }); }); }; //点击搜索 search = () => { const pageParm = { ...this.state.pageParm }; const { keyWords, startDate, endDate } = this.state; pageParm.keyWords = keyWords; pageParm.startDate = startDate; pageParm.endDate = endDate; this.setState({ pageParm }); }; //渲染表格 renderTable = () => { const columns = [ { title: '表彰奖励日期', dataIndex: 'awardDate', key: 'awardDate', }, { title: '表彰奖励单位', dataIndex: 'awardUnit', key: 'awardUnit', render: (text, record) => (

{record.awardUnit}

) }, { title: '表彰奖励内容', dataIndex: 'awardContent', key: 'awardContent', render: (text, record) => (

{record.awardContent}

) }, { title: '表彰奖励原因', dataIndex: 'awardReason', key: 'awardReason', render: (text, record) => (

{record.awardReason}

) }, { title: '操作', dataIndex: 'action', key: 'action', render: (text, record) => (
详情 删除
), } ]; return (); }; showDeleteConfirm = (awardId) => { console.log(awardId); const that = this; confirm({ title: '是否删除所选信息,删除后无法找回。是否确认删除?', okText: '确认', cancelText: '取消', onOk() { console.log("ok"); that.orderDelete(awardId); }, onCancel() { console.log('Cancel'); }, }); }; //删除 orderDelete = (awardId) => { deleteComSecurityAwardById({ awardId }).then((response) => { message.success(response.msg); this.tableUpdate(); }, (err) => { console.log(err); }); }; //树形选择器改编 handleTreeSelectChange = (value, label, extra) => { this.setState({ showPerId: 0 }); const lastValue = this.state.valueTree; if (extra.triggerNode && extra.triggerNode.props && extra.triggerNode.props.treeType === "1") { console.log("部门"); this.setState({ valueTree: lastValue }); } else { this.setState({ valueTree: value }); } }; // 判断日期 disabledStartDate = (currentDate) =>{ return currentDate && currentDate > moment(parseInt(sessionStorage.getItem('requestDate'))).endOf('day'); } //表单提交 handleIncentiveSubmit = (e) => { e.preventDefault(); this .props .form .validateFields((err, values) => { values.perIdString = values.perIdString.split(','); if (!err && values.perIdString) { const rangeValue = values["awardDate"]; values.awardDate = rangeValue.format("YYYY-MM-DD"); const { isPoliceAward } = values; if (isPoliceAward) { values.isPoliceAward = "1"; } else { values.isPoliceAward = "0"; } Reflect.deleteProperty(values, 'perName'); addComSecurityAward(values).then(data => { // this.setState({ forceUpdate: true }); this.setState({ open: false }); this.setState({ valueTree: [] }); this.tableUpdate(); const { setFieldsValue } = this.props.form; setFieldsValue({ awardDate: "", awardType: "", awardUnit: "", isPoliceAward: false, awardContent: "", awardReason: "", remark: "" }); }, err1 => { console.log(err1); }); } }); }; render() { const formItemLayout = { labelCol: { xs: { span: 24 }, sm: { span: 7 } }, wrapperCol: { xs: { span: 24 }, sm: { span: 17 }, md: { span: 17 } } }; const { getFieldDecorator, getFieldValue, setFieldsValue } = this.props.form; return ( {/* 搜索条件面板 */}

{this.renderTable()}

确认删除“奖励信息”?

{/*奖励详情*/} { this.setState({ open }); }} // onClose={() => { // this.setState({ // open: false, // valueTree: [] // }); // }} onClose={this.hideModal} destroyOnClose >
{/*
奖励详情
*/}
{getFieldDecorator('perIdString', { rules: [ { required: true, message: '请选择表彰奖励人员' } ] })()} {getFieldDecorator('perName', { rules: [ { required: true, message: '请选择表彰奖励人员' } ] })( { $perModal({ value: getFieldValue('perIdString'), type:'radio', onOk: (values, close) => { setFieldsValue({perIdString: values[0].perId, perName: values[0].name}); close(); } }); }} />)} {/* *  表彰奖励人员:
*/} {getFieldDecorator("awardDate", { rules: [ { required: true, message: "请选择表彰奖励日期" } ] }, config)( )} {getFieldDecorator('awardType', { rules: [ { required: true, message: '请选择表彰奖励类型' } ] })()} {getFieldDecorator('awardUnit', { rules: [ { transform:(transformeValue) =>{ return validateTrim(transformeValue); } }, { required: true, message: '请填写颁发单位' } ] })()}
{getFieldDecorator('isPoliceAward', { valuePropName: 'checked', initialValue: false, rules: [ { required: false, message: '请填写公安机关是否给予表彰奖励' } ] })()}
{getFieldDecorator('awardContent', { rules: [ { transform:(transformeValue) =>{ return validateTrim(transformeValue); } }, { required: true, message: '请填写表彰奖励内容' } ] })(