From 101098593cd1d998979cb8c603276b8f6687942e Mon Sep 17 00:00:00 2001 From: Mr Ke <kelq@hugeinfo.com.cn> Date: Wed, 08 Apr 2020 14:45:02 +0800 Subject: [PATCH] 修复问卷编辑问题 --- SunshineIns/src/view/QuestionnairContent/index.js | 88 +++++++++++++++++++++++++++++++++----------- 1 files changed, 66 insertions(+), 22 deletions(-) diff --git a/SunshineIns/src/view/QuestionnairContent/index.js b/SunshineIns/src/view/QuestionnairContent/index.js index 4b4c5b4..073d0ac 100644 --- a/SunshineIns/src/view/QuestionnairContent/index.js +++ b/SunshineIns/src/view/QuestionnairContent/index.js @@ -2,23 +2,39 @@ import './index.scss'; import Input from '../../libs/Input'; // import Button from '../../libs/Button'; -import { Button } from 'antd'; +import { Button, Select } from 'antd'; // import Default from '../../assets/scale_default.png' +const Option = Select.Option; +function typeStatus(type) { + switch (type) { + case 1: + return '企业体检'; + case 2: + return '培训活动'; + case 3: + return '未检调查'; + case 4: + return '刑执监督'; + } +} class QuestionnairContent extends React.PureComponent { state = { questionnairSign: false, questionnairTitle: '', - questionnairDescription: '' + questionnairDescription: '', + questionnairBusinessType: '', }; componentDidMount() { - const { title, content } = this.props.initData; + const { title, content, businessType } = this.props.initData; console.log(title); this.setState({ questionnairTitle: title, - questionnairDescription: content + questionnairDescription: content, + // questionnairBusinessType: typeStatus(businessType) + questionnairBusinessType: businessType, }); } //新增题目时内容页滚动到底部 @@ -44,7 +60,7 @@ this.scrollTo = false; } this.setState({ - questionnairSign: nextProps.questionnairSign + questionnairSign: nextProps.questionnairSign, // questionnairTitle: nextProps.questionnairTitle, // questionnairDescription: nextProps.questionnairDescription }); @@ -53,8 +69,8 @@ handleSign = () => { const { onChangeSign } = this.props; this.setState( - prevState => ({ - questionnairSign: !prevState.questionnairSign + (prevState) => ({ + questionnairSign: !prevState.questionnairSign, }), () => { onChangeSign(this.state.questionnairSign); @@ -62,9 +78,10 @@ ); }; - handleChange = (e, key) => { + handleChange = ({ target: { value, name } }) => { + console.log(value, name); this.setState({ - [key]: e.target.value + [name]: value, }); }; @@ -79,19 +96,19 @@ const { questionnairSign, questionnairTitle, - questionnairDescription + questionnairDescription, + questionnairBusinessType, } = this.state; const { submitQuestionTemp, editors, btnLoading } = this.props; - + console.log(questionnairBusinessType); const questionnairtitleEl = ( <div className="title-inner"> <span style={{ color: 'red' }}>*</span> <Input placeholder="问卷标题" value={questionnairTitle} - onChange={e => { - this.handleChange(e, 'questionnairTitle'); - }} + name="questionnairTitle" + onChange={this.handleChange} onBlur={this.handleBlur} style={{ height: 45, @@ -99,7 +116,7 @@ textAlign: 'center', fontSize: 18, color: '#666', - fontFamily: 'PingFangSC-Medium' + fontFamily: 'PingFangSC-Medium', }} className="title-input" /> @@ -110,9 +127,8 @@ <Input placeholder="问卷描述" value={questionnairDescription} - onChange={e => { - this.handleChange(e, 'questionnairDescription'); - }} + name="questionnairDescription" + onChange={this.handleChange} onBlur={this.handleBlur} style={{ height: 25, @@ -120,14 +136,40 @@ textAlign: 'left', fontSize: 16, color: '#666', - fontFamily: 'PingFangSC-Medium' + fontFamily: 'PingFangSC-Medium', }} className="title-input" /> </div> ); + const questionnairBusinessType1 = ( + <div className="title-inner" style={{ marginTop: 10 }}> + <span style={{ color: 'red' }}>*</span> + <Select + placeholder="业务类型" + value={questionnairBusinessType} + style={{ + width: '100%', + textAlign: 'center', + fontSize: 18, + color: '#666', + fontFamily: 'PingFangSC-Medium', + }} + onChange={(value) => + this.handleChange({ + target: { name: 'questionnairBusinessType', value }, + }) + } + > + <Option value={1}>企业体检</Option> + <Option value={2}>培训活动</Option> + <Option value={3}>未检调查</Option> + <Option value={4}>刑执监督</Option> + </Select> + </div> + ); return ( - <div className="questionnair-page" ref={el => (this.page = el)}> + <div className="questionnair-page" ref={(el) => (this.page = el)}> <div className="questionnair-page-banner"> {/* <div className='banner-text' onClick={this.handleSign} style={{ color: questionnairSign ? '#FFBF47' : '' }}> <i className="iconfont icon-dengpao"></i> @@ -137,10 +179,11 @@ <div className="questionnair-page-title"> {questionnairtitleEl} {questionnairDescriptionEl} + {questionnairBusinessType1} </div> <div className="questionnair-page-content" - ref={el => (this.content = el)} + ref={(el) => (this.content = el)} > {/*如果组件没有子节点,this.props.children返回false*/} {this.props.children || ( @@ -165,7 +208,8 @@ // this.props.isThereEditor(); submitQuestionTemp(editors, { questionnairTitle, - questionnairDescription + questionnairDescription, + questionnairBusinessType, }); }} > -- Gitblit v1.8.0