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/index.js | 4 src/pages/index/System.jsx | 4 src/components/page/DocumentEditPage/index.jsx | 153 +++++++++++++++++++++++++++++++++++++++----------- src/components/page/index/rulesList/index.jsx | 11 +++ 4 files changed, 132 insertions(+), 40 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> diff --git a/src/components/page/index/rulesList/index.jsx b/src/components/page/index/rulesList/index.jsx index 219f7bf..b465e0e 100644 --- a/src/components/page/index/rulesList/index.jsx +++ b/src/components/page/index/rulesList/index.jsx @@ -33,12 +33,19 @@ componentDidMount() { } + cancle = (id) => { + console.log(id) + // // this.props.history.push("/document/create?id=" + id); + this.props.history.push({ pathname: "/document/create" }); + } + renderColumns = () => { return [ - { title: '通知标题', dataIndex: 'documentItle;' }, + { title: '通知标题', dataIndex: 'documentTitle' }, { title: '通知内容', dataIndex: 'documentContent' }, { title: '接受情况', dataIndex: 'groupType', render: (cur, item) => <span>{item.readNumber || 0}/{item.noticeNumber || 0}</span> }, { title: '通知时间', dataIndex: 'createTime', render: (cur, item) => cur !== "" && cur != null ? moment(cur).format("YYYY-MM-DD HH:mm") : "" }, + { title: '操作', render: (text, record) => <a href="" onClick={() => this.cancle(record.id)}>查看</a> } ]; } @@ -68,7 +75,7 @@ formData={formData} setFormData={this.setFormData} data={[ - { type: 'input', name: '标题', label: '标题', key: 'title' }, + { type: 'input', name: '标题', label: '标题', key: 'documentTitle' }, { type: 'rangePicker', label: '发布时间', diff --git a/src/index.js b/src/index.js index 6a201b6..4fd9219 100644 --- a/src/index.js +++ b/src/index.js @@ -55,10 +55,10 @@ <Route path="/index/workbench/announcement" component={Announcement} /> {/* 规章制度 */} <Route path="/index/rules" component={System} /> - + {/* 首页 */} <Route path="/index" component={Workbench} /> - + <Route path="/login" component={Login} /> <Route path="/" component={Workbench} /> diff --git a/src/pages/index/System.jsx b/src/pages/index/System.jsx index 44d395b..d526ecd 100644 --- a/src/pages/index/System.jsx +++ b/src/pages/index/System.jsx @@ -28,9 +28,9 @@ render() { return ( <div className="System-main"> - <BreadcrumbView data={[{ name: '工作制度' }]} /> + <BreadcrumbView data={[{ name: '规章制度' }]} /> {/* <SystemPage /> */} - <RulesList {...this.prosp} /> + <RulesList {...this.props} /> </div> ) } -- Gitblit v1.8.0