From 756cb18003a3a5602dba0ac6761e9c57289a8bac Mon Sep 17 00:00:00 2001 From: Mr Ke <kelq@hugeinfo.com.cn> Date: Mon, 06 Apr 2020 18:13:53 +0800 Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/huge/frontEnd/hugeOA --- src/components/page/DocumentEditPage/index.jsx | 153 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 119 insertions(+), 34 deletions(-) diff --git a/src/components/page/DocumentEditPage/index.jsx b/src/components/page/DocumentEditPage/index.jsx index b75e628..051c78e 100644 --- a/src/components/page/DocumentEditPage/index.jsx +++ b/src/components/page/DocumentEditPage/index.jsx @@ -7,11 +7,13 @@ /** Happy Coding */ import React, { ReactNode, ReactEventHandler, Component } from 'react'; // import { Link } from 'react-router-dom'; -import { Card, Row, Col, Select, Button, Input, Upload, Icon, Spin } from 'antd'; +import { Card, Row, Col, Select, Button, Input, Upload, Icon, Spin, message } from 'antd'; import './index.scss'; const Option = Select.Option; +const { TextArea } = Input; import fetch from '../../../api/request'; +import { BASE_URL } from '../../../api/httpurl' const param = [{ value: 'DT00002', name: '通知公告' }, { value: 'DT00001', name: '规章制度' }] export default class DocumentEditPage extends Component { @@ -21,32 +23,39 @@ }; this.state = { loading: false, + iconLoading: false, savedate: {}, fileList: [], + disabled: false, }; } componentWillMount() { } componentDidMount() { - // this.loadData() + this.loadData() } loadData = () => { - console.log('111') + const { id } = this.props; + console.log(id) let _this = this; _this.setState({ - loading: true + loading: true, + disabled: id ? true : false }) fetch({ - url: 'api/document/getNewId', + url: 'api/document/findDetail', params: { - id: 'new' + id: id || 'new' } }).then(res => { console.log(res) _this.setState({ - savedate: res.content, + savedate: { + ...res, + documentType: res.documentType || 'DT00002' + }, loading: false, }); }); @@ -65,6 +74,31 @@ submit = () => { const { savedate } = this.state; console.log(savedate) + if (savedate.documentType == 'DT00001') { + if (!savedate.documentItle) { + return message.warning('规章制度标题不能为空') + } + } else { + if (!savedate.documentItle) { + return message.warning('通知标题不能为空') + } else if (!savedate.documentContent) { + return message.warning('通知内容不能为空') + } + } + let _this = this; + _this.setState({ + iconLoading: true + }) + fetch({ + url: 'api/document/saveOrUpdateNotice', + method: 'POST', + data: savedate + }).then(res => { + console.log(res) + _this.setState({ + iconLoading: false, + }); + }); // Fetch.savePatrolCom(savedate) // .then(res => { // if (res.code === 0) { @@ -81,9 +115,9 @@ } render() { - const { savedate, fileList, loading } = this.state; + const { savedate, fileList, loading, disabled } = this.state; const props = { - action: `api/v1/attachment/materials?associateTypeId=1019&entityId=` + savedate.id, + action: BASE_URL + `api/attachment/materials?associateId=${savedate.documentType == 'DT00002' ? 1001 : 1002}&entityId=` + savedate.id, onChange: ({ file, fileList }) => { if (file.status !== 'uploading') { console.log(file); @@ -118,6 +152,7 @@ return ( <div className="document-edit-page-main"> <Spin spinning={loading}> + <Card style={{ border: 20, margin: 20, padding: 20 }}> <Row gutter={16}> <Col className="gutter-row" > @@ -126,7 +161,7 @@ </Row> <Row gutter={16}> <Col className="gutter-row" style={{ margin: '12px 0' }} > - <Select style={{ width: "300px" }} onChange={(value) => this.saveInputChange({ target: { name: 'documentType', value } })} value={savedate.documentType || "DT00002"}> + <Select disabled={disabled} style={{ width: "300px" }} onChange={(value) => this.saveInputChange({ target: { name: 'documentType', value } })} value={savedate.documentType}> { param.map((data, key) => ( <Option key={key} value={data.value}>{data.name}</Option> @@ -136,37 +171,87 @@ </Col> </Row> - <Row gutter={16} style={{ marginTop: '12px' }}> - <Col className="gutter-row" style={{ marginTop: '12px' }}> - 规章制度标题: - </Col> - </Row> + { + savedate.documentType == 'DT00002' && + <Row gutter={16} style={{ marginTop: '12px' }}> + <Col className="gutter-row" style={{ marginTop: '12px' }}> + 通知标题: + </Col> + </Row> + } + { + savedate.documentType == 'DT00001' && + <Row gutter={16} style={{ marginTop: '12px' }}> + <Col className="gutter-row" style={{ marginTop: '12px' }}> + 规章制度标题: + </Col> + </Row> + } <Row gutter={16}> <Col className="gutter-row" style={{ margin: '12px 0' }} > - <Input style={{ width: '300px' }} name='documentItle' onChange={this.saveInputChange} value={savedate.documentItle || ""} /> + <Input disabled={disabled} style={{ width: '300px' }} name='documentItle' onChange={this.saveInputChange} value={savedate.documentItle || ""} /> </Col> </Row> - <Row gutter={16} style={{ marginTop: '12px' }}> - <Col className="gutter-row" style={{ margin: '12px 0' }} > - 规章制度源文件: + { + savedate.documentType == 'DT00002' && + <Row gutter={16}> + <Col className="gutter-row" > + 通知内容: </Col> - </Row> - <Row gutter={16} > - <Col className="gutter-row" > - <Upload {...props}> - <Button> - <Icon type="upload" />上传文件</Button> - </Upload> - </Col> - </Row> + </Row> + } + { + savedate.documentType == 'DT00002' && + <Row gutter={16}> + <Col className="gutter-row" style={{ margin: '12px 0' }} > + <TextArea disabled={disabled} style={{ width: '500px' }} name='documentContent' onChange={this.saveInputChange} value={savedate.documentContent || ""} /> + </Col> + </Row> + } + { + savedate.documentType == 'DT00001' && + <Row gutter={16} style={{ marginTop: '12px' }}> + <Col className="gutter-row" style={{ margin: '12px 0' }} > + 规章制度源文件: + </Col> + </Row> + } + {savedate.documentType == 'DT00001' && + <Row gutter={16} > + <Col className="gutter-row" > + <Upload disabled={disabled} {...props}> + <Button> + <Icon type="upload" />上传文件</Button> + </Upload> + </Col> + </Row> + } + { + savedate.documentType == 'DT00001' && + <Row gutter={16} style={{ marginTop: '12px' }}> + <Col className="gutter-row" > + 通知范围: + </Col> + </Row> + } + { + savedate.documentType == 'DT00002' && + <Row gutter={16} style={{ marginTop: '12px' }}> + <Col className="gutter-row" style={{ margin: '12px 0' }} > + 通知范围: + </Col> + </Row> + } + {savedate.documentType == 'DT00002' && + <Row gutter={16} > + <Col className="gutter-row" > + 目前仅支持全员通知 + </Col> + </Row> + } <Row gutter={16} style={{ marginTop: '12px' }}> - <Col className="gutter-row" > - 支持扩展名:.pdf - </Col> - </Row> - <Row gutter={16} style={{ marginTop: '12px' }}> - <Col span={2} className="gutter-row" ><Button style={{ marginRight: '15px', width: '100px' }} type="primary" onClick={this.submit}>发布</Button></Col> + <Col span={2} className="gutter-row" ><Button disabled={disabled} style={{ marginRight: '15px', width: '100px' }} type="primary" loading={this.state.iconLoading} onClick={this.submit}>发布</Button></Col> <Col span={2} className="gutter-row" ><Button style={{ marginLeft: '15px', width: '100px' }} onClick={this.cancle}>返回</Button></Col> </Row> </Card> -- Gitblit v1.8.0