广州市综治平台前端
xusd
65 mins ago 25fe4f5537aae20e40dd778e8f962077f83c5658
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
/*
 * @Company: hugeInfo
 * @Author: ldh
 * @Date: 2022-07-12 14:44:43
 * @LastEditTime: 2022-07-28 15:43:58
 * @LastEditors: ldh
 * @Version: 1.0.0
 * @Description: 预审异常 - 详情处理
 */
import React, { useState, useEffect } from 'react';
import * as $$ from '../../../utils/utility';
import { Space, Row, Col, Radio, Button, Input } from 'antd';
import { ScheduleOutlined } from '@ant-design/icons';
import NameCard from '../../../components/NameCard';
 
// 获取处理的详情
function getAbnormalDataApi(id) {
    return $$.ax.request({ url: 'caseInquiry/getById', type: 'get', data: { id }, service: 'disp' });
}
 
const { TextArea } = Input;
 
const MediateAbnormalDetail = ({ dispId: dipsId, handleReturn }) => {
    const [data, setData] = useState({});
 
    const [formData, setFormData] = useState({});
 
    const radioOne = [
        { value: '1', label: '进入调度中心', subtitle: '(忽略异常信息,进入调度中心)' },
        { value: '3', label: '退回申请人', subtitle: '(退回案件给申请人,申请人可补充材料后重新提交调解申请)' },
        { value: '2', label: '不予受理', subtitle: '(不受理申请人提交的调解申请)' },
    ];
 
    const radioTwo = [
        { value: '1', label: '人民法院已经受理或正在受理的' },
        { value: '2', label: '一方当事人不同意调解的' },
        { value: '3', label: '已构成犯罪或构成违反治安管理处罚行为的' },
        { value: '4', label: '已通过其他渠道受理或处理' },
        { value: '5', label: '其他原因' },
    ];
 
    // 修改form
    function handleChangeInput(key, value) {
        if (key === 'handleIdea') {
            formData.handleIdea = value[0];
            formData.handleIdeaName = value[1];
            if (value[0] === '2') {
                formData.handleReason = radioTwo[0].value;
                formData.handleReasonName = radioTwo[0].label;
            }
        } else if (key === 'handleReason') {
            formData.handleReason = value[0];
            formData.handleReasonName = value[1];
        }
        setFormData({ ...formData });
    }
 
    useEffect(() => {
        // 获取案件异常详情
        async function getAbnormalData() {
            global.setSpinning(true);
            const res = await getAbnormalDataApi(dipsId);
            global.setSpinning(false);
            if (res.type) {
                setData(res.data || {});
            }
        }
        getAbnormalData();
        setFormData({ handleIdea: radioOne[0].value, handleIdeaName: radioOne[0].label });
    }, [dipsId]);
 
    return (
        <div className="mediateAbnormalDetail-bg">
            <div className="mediateAbnormalDetail">
                <div className="caseDetail-cardTitle">
                    <Space size="small">
                        <div className="caseDetail-cardTitle-icon caseDetail-cardTitle-iconBlue">
                            <ScheduleOutlined />
                        </div>
                        <h5>异常处理</h5>
                    </Space>
                </div>
                <div className="caseDetail-cardMain">
                    <Row gutter={[16, 16]}>
                        <Col span={24}>
                            <h5>异常原因</h5>
                            <div>{data.errorReason || '-'}</div>
                        </Col>
                        <Col span={24}>
                            <h5>拦截时间</h5>
                            <div>-</div>
                        </Col>
                        {data.xxx === '未处理' ? (
                            <>
                                <Col span={24}>
                                    <h5>处理意见</h5>
                                    <Radio.Group value={formData.handleIdea} onChange={(e) => handleChangeInput('handleIdea', [e.target.value, e.target.label])}>
                                        <Space direction="vertical">
                                            {radioOne.map((x, t) => (
                                                <Radio value={x.value} label={x.label}>
                                                    {x.label}
                                                    {formData.handleIdea === x.value && <span className="caseDetail-subtitle">{x.subtitle}</span>}
                                                </Radio>
                                            ))}
                                        </Space>
                                    </Radio.Group>
                                </Col>
                                {formData.handleIdea === '3' && (
                                    <Col span={24}>
                                        <h5>
                                            退回理由<span className="leftRequired">*</span>
                                        </h5>
                                        <TextArea
                                            value={formData.handleContent}
                                            onChange={(e) => handleChangeInput('handleContent', e.target.value)}
                                            rows={4}
                                            maxLength={256}
                                            placeholder="输入退回给申请人的理由"
                                            allowClear
                                        />
                                    </Col>
                                )}
                                {formData.handleIdea === '2' && (
                                    <Col span={24}>
                                        <h5>
                                            不予受理原因<span className="leftRequired">*</span>
                                        </h5>
                                        <Radio.Group value={formData.handleReason} onChange={(e) => handleChangeInput('handleReason', [e.target.value, e.target.label])}>
                                            <Space direction="vertical">
                                                {radioTwo.map((x, t) => (
                                                    <Radio value={x.value} label={x.label}>
                                                        {x.label}
                                                    </Radio>
                                                ))}
                                            </Space>
                                        </Radio.Group>
                                        {formData.handleReason === '5' && (
                                            <div style={{ marginLeft: '24px', marginTop: '12px' }}>
                                                <TextArea
                                                    value={formData.handleContent}
                                                    onChange={(e) => handleChangeInput('handleContent', e.target.value)}
                                                    rows={2}
                                                    maxLength={256}
                                                    placeholder="输入不予受理的具体原因"
                                                    allowClear
                                                />
                                            </div>
                                        )}
                                    </Col>
                                )}
                            </>
                        ) : (
                            <>
                                <Col span={24}>
                                    <h5>处理意见</h5>
                                    <div>{data.handleIdeaName || '-'}</div>
                                </Col>
                                {formData.handleIdea !== '1' && (
                                    <Col span={24}>
                                        <h5>相关说明</h5>
                                        <div> {formData.handleContent || '-'}</div>
                                    </Col>
                                )}
                                <Col span={24}>
                                    <h5>处理人</h5>
                                    <NameCard name="赵一凡" userId="" />
                                </Col>
                                <Col span={24}>
                                    <h5>处理时间</h5>
                                    <div>-</div>
                                </Col>
                            </>
                        )}
                    </Row>
                </div>
                <div>
                    <Button type="primary">提交</Button>
                </div>
            </div>
        </div>
    );
};
 
export default MediateAbnormalDetail;