/*
|
* @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;
|