forked from nsjcy/frontEnd/nsjcy

liuwh
2020-02-27 71c1fa3bfa21baaf733189495cdd64deb0cf6551
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import React from 'react';
import { Input, Button, DatePicker, Divider, message, Popconfirm, Select, Badge, Spin, Breadcrumb } from 'antd';
import Questionnair from '../page/Questionnair'
import Fetch from '../fetch'
import HeadView from '../view/HeadView';
 
export default class QuestionDetail extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      loading: false,
      data: [],
      initData: null,
      btnLoading: false
 
    };
  }
 
  componentDidMount() {
 
    document.title = '问卷详情';
    const { id } = this.props.match.params;
 
    this.setState({
      loading: true
    });
    Fetch.questionFindById(id).then(res => {
      console.log('res', res);
      this.setState({
        loading: false,
        initData: res
      })
    })
  }
 
  submitQuestionTemp = (questionDtos, extraData) => {
    const { initData } = this.state;
    console.log('questionDtos', questionDtos);
    if (!extraData.questionnairTitle) {
      return message.error('请填写问卷标题');
    }
    questionDtos = questionDtos.map(({ type, title, required, remarkText, options, scores, warnFlag }) => ({
      type, title, required, remarkText, options, scores, warnFlag
    }));
    this.setState({
      btnLoading: true
    })
    Fetch.saveQuestionTemp({
      ...initData,
      title: extraData.questionnairTitle,
      content: extraData.questionnairDescription,
      questionDtos
    }).then(res => {
      console.log('res', res);
      this.setState({
        btnLoading: false
      })
      if (res.code == 0) {
        message.success('问卷提交成功');
      }
    })
  }
 
  getData = () => {
 
  }
 
  render() {
 
    const { data, loading, resetKey, initData, btnLoading } = this.state;
    return (
      <div className="app-page">
        <HeadView history={this.props.history} />
        <div style={{
          margin: 10
        }}>
          <Breadcrumb>
            <Breadcrumb.Item>
              <a onClick={() => {
                this.props.history.goBack();
              }}>问卷管理</a>
            </Breadcrumb.Item>
 
            <Breadcrumb.Item>
              问卷详情
            </Breadcrumb.Item>
          </Breadcrumb>
        </div>
        {
          loading ?
            <div style={{ height: 200, width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' }}>
              <Spin spinning={loading} />
            </div> :
            <React.Fragment>
              {/* <Questionnair submitQuestionTemp={this.submitQuestionTemp} btnLoading={btnLoading} /> */}
              {
                initData &&
                <div style={{ background: '#fff', marginTop: 10 }}>
                  <div style={{ width: 700, margin: '0 auto', padding: '20px 0 0 0 ' }}>
                    <h3>
                      问卷标题:{initData.title || '暂无'}
                    </h3>
                    <h4 style={{ marginBottom: 0 }}>
                      问卷描述:{initData.content || '暂无'}
                    </h4>
                  </div>
                </div>
              }
 
              {initData && initData.questionDtos.map((item, index) => (
                <Questionnair.Editor editor={item} acitveAnswer={true} key={item.questionId} index={index} />
              ))}
            </React.Fragment>
        }
 
      </div>
    );
  }
 
}