广州矛调粤政易端
xusd
7 days ago d27794814b69d18aeb8ee96a46cae91d5613570c
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
/*
 * @Company: hugeInfo
 * @Author: ldh
 * @Date: 2022-09-19 19:25:36
 * @LastEditTime: 2022-09-22 17:24:27
 * @LastEditors: ldh
 * @Version: 1.0.0
 * @Description: 任务退回modal
 */
import React, { useMemo, useState } from 'react';
import { Input, TextareaItem } from 'dingtalk-design-mobile';
import { WarningOutlined } from 'dd-icons';
import MyModal from '../MyModal';
import { ax, showToast } from '../../utils/utility';
 
// 任务退回
function setReturnTaskApi(submitData) {
    return ax.request({ url: 'eventTask/gridBackTask', type: 'post', data: submitData, service: 'event' });
}
 
const ReturnTask = ({ taskId, eventType, visible, onClose, onSuccessCallback }) => {
    const info = useMemo(() => {
        let res = '';
        if (['030101'].includes(eventType)) {
            res = '如核实后事件不在管辖网格,请填写与居民核实后新的事件位置信息,这将帮助后续网格员更好开展工作';
        } else {
            res = '如核实居民不在管辖网格,请填写与居民核实后新的房名房址信息,这将帮助后续网格员更好开展工作';
        }
        return res;
    }, [eventType]);
 
    const info2 = useMemo(() => {
        let res = '';
        if (['030101'].includes(eventType)) {
            res = '核实后的事件位置';
        } else {
            res = '核实后的房名房址';
        }
        return res;
    }, [eventType]);
 
    const info3 = useMemo(() => {
        let res = '';
        if (['030101'].includes(eventType)) {
            res = '输入与居民核实后新的事件位置';
        } else {
            res = '输入与居民核实后新的房名房址信息';
        }
        return res;
    }, [eventType]);
 
    // 退回数据
    const [returnData, setReturnData] = useState({});
 
    // 退回任务
    async function setReturnTask() {
        if (!returnData.handleContent?.replace(/\s+/g, '')) {
            showToast({ content: '请输入退回理由' });
            return;
        }
        global.setSpinning(true);
        const res = await setReturnTaskApi({ taskId, ...returnData });
        global.setSpinning(false);
        if (res.type) {
            onSuccessCallback && onSuccessCallback();
        }
    }
 
    return (
        <MyModal zIndex={1002} visible={visible} center bodyClass="taskHandle-returnModal" onClose={onClose}>
            <div className="taskHandle-returnModal-title h7">任务退回</div>
            <div className="taskHandle-returnModal-contentPadding">
                <div className="taskHandle-returnModal-subtitle">
                    <div className="taskHandle-returnModal-subtitle-icon">
                        <WarningOutlined />
                    </div>
                    <div>{info}</div>
                </div>
                <div className="taskHandle-returnModal-content">
                    <div className="taskHandle-feedback-title">
                        <div className="public_body_text_style_bold">{info2}</div>
                    </div>
                    <Input
                        value={returnData.serveObjEndAddr}
                        onChange={(value) => setReturnData({ ...returnData, serveObjEndAddr: value })}
                        placeholder={info3}
                    />
                    <div className="taskHandle-returnModal-split" />
                    <div className="taskHandle-feedback-title">
                        <div className="public_body_text_style_bold">退回理由</div>
                        <div className="public-tag4">必填</div>
                    </div>
                    <TextareaItem
                        value={returnData.handleContent}
                        onChange={(value) => setReturnData({ ...returnData, handleContent: value })}
                        placeholder="需要填写退回该任务的理由"
                        rows={3}
                    />
                </div>
            </div>
            <div className="myModal-action">
                <div onClick={onClose} className="myModal-action-item1">
                    我再想想
                </div>
                <div onClick={setReturnTask} className="myModal-action-item2">
                    确定退回
                </div>
            </div>
        </MyModal>
    );
};
 
export default ReturnTask;