/**
|
* 柯礼钦<kelq@hugeinfo.com.cn>
|
* 2018年9月4日 16:00
|
*
|
*/
|
|
import React from "react";
|
import { Input, Button, message, Breadcrumb } from "antd";
|
import moment from "moment";
|
import BusDetailView from "../view/BusDetailView";
|
import LineView from "../view/LineView";
|
import HeadView from "../view/HeadView";
|
import Fetch from "../fetch";
|
const { TextArea } = Input;
|
const replyAdmin = {
|
display: 'block',
|
float: 'left',
|
color: 'green',
|
}
|
|
const replyUser = {
|
display: 'block',
|
float: 'left',
|
color: '#1790ff'
|
}
|
|
const timeUser = {
|
display: 'block',
|
color: '#1790ff'
|
}
|
|
const timeAdmin = {
|
display: 'block',
|
color: 'green'
|
}
|
function picType(type) {
|
switch (type) {
|
case "1":
|
return "生态环境与资源保护领域";
|
case "2":
|
return "食品药品安全领域";
|
case "3":
|
return "文物保护领域";
|
case "4":
|
return "英雄烈士保护领域";
|
case "5":
|
return "国有财产保护领域";
|
case "6":
|
return "国有土地出让领域";
|
}
|
}
|
function showType(val) {
|
//存在
|
if (val.indexOf("@") != -1) {
|
return "电子邮箱"
|
} else if (val.length == 11) {
|
return "电话号码"
|
} else {
|
return "QQ号码"
|
}
|
|
}
|
export default class BusDetail extends React.Component {
|
constructor(props) {
|
super(props);
|
this.state = {
|
savedate: {},
|
snapshot: {},
|
data: {}
|
};
|
}
|
|
componentDidMount() {
|
const { id } = this.props.match.params;
|
Fetch.getSnapshotDetail(id).then(data => {
|
|
this.setState(
|
{
|
data: data,
|
snapshot: data.pictures,
|
savedate:
|
{
|
businessId: id,
|
businessType: 25,
|
approvalStatus: 2
|
}
|
}
|
);
|
})
|
}
|
|
goBack = () => {
|
this.props.history.goBack();
|
};
|
|
|
onInputChange = ({ target: { value, name } }) => {
|
this.setState(({ savedate }) => ({
|
savedate: {
|
...savedate,
|
[name]: value
|
}
|
}))
|
}
|
|
submitAudit = () => {
|
|
const { savedate } = this.state;
|
console.log(savedate);
|
if (!savedate.opinion) {
|
message.warning("请选择审批结论!");
|
return;
|
}
|
|
Fetch.snapshotReply(savedate).then(res => {
|
if (res.code === 0) {
|
message.success("回复成功", 2, () => {
|
this.props.history.goBack();
|
});
|
} else {
|
message.error("回复失败,请联系管理员", 2);
|
}
|
});
|
};
|
|
render() {
|
|
// 居中样式
|
const center = {
|
display: "flex",
|
alignItems: "center",
|
justifyContent: "center"
|
};
|
const { snapshot, data } = this.state;
|
const { flag } = this.props.match.params;
|
return (
|
<div className="app-page">
|
<HeadView history={this.props.history} />
|
<Breadcrumb style={{ padding: '20px' }}>
|
<Breadcrumb.Item><a href="">后台中心</a></Breadcrumb.Item>
|
<Breadcrumb.Item>公益随手拍</Breadcrumb.Item>
|
</Breadcrumb>
|
<BusDetailView>
|
<div>
|
<LineView title="上报人信息" style="14vh" lineHeight="34px">
|
<table>
|
<tbody>
|
<tr>
|
<td className="table-vaule1">姓名</td>
|
<td className="table-vaule2">{snapshot.userName}</td>
|
<td className="table-vaule3">{showType(snapshot.mobile || '')}</td>
|
<td className="table-vaule4">{snapshot.mobile}</td>
|
</tr>
|
<tr>
|
<td className="table-vaule1">拍摄地址</td>
|
<td className="table-vaule2">{snapshot.address}</td>
|
<td className="table-vaule3">身份证号码</td>
|
<td className="table-vaule4">{snapshot.idCard || "暂无"}</td>
|
</tr>
|
<tr>
|
<td className="table-vaule1">上报类型</td>
|
<td className="table-vaule2">{picType(snapshot.picType)}</td>
|
</tr>
|
|
</tbody>
|
</table>
|
</LineView>
|
<LineView title="详细说明" style="13vh" lineHeight="20px">
|
<span>{snapshot.content}</span>
|
</LineView>
|
</div>
|
<LineView title="相关材料" style="14vh">
|
<div className="apply-img-div">
|
{snapshot.attList
|
? snapshot.attList.map((data, key) => (
|
(
|
data.type != 21 ?
|
< div style={{ marginRight: "10px" }} key={key}>
|
<a href={data.path} target='_black'> <img src={data.path} width='70' height='70' /></a>
|
</div>
|
: < div style={{ marginRight: "10px" }} key={key}>
|
<a href={data.path} target='_black'><video src={data.path} width='70' height='70'></video></a>
|
</div>
|
)
|
))
|
: null}
|
</div>
|
</LineView>
|
{
|
data.ReplyLogs ?
|
<LineView title="回复记录" style="15vh">
|
{data.ReplyLogs.map((contacts, key) => (
|
<div style={{ width: '100%', height: '70px' }} key={key}>
|
{contacts.userType === 1 ?
|
<React.Fragment>
|
<div style={timeUser} >{contacts.replyerName}:{moment(contacts.createTime).format('YYYY/MM/DD HH:mm:ss')}</div>
|
<div style={replyUser}>{contacts.content}</div>
|
</React.Fragment>
|
:
|
<React.Fragment>
|
<div style={timeAdmin} > {contacts.replyerName}:{moment(contacts.createTime).format('YYYY/MM/DD HH:mm:ss')}</div>
|
<div style={replyAdmin}>{contacts.content}</div>
|
</React.Fragment>
|
}
|
|
</div>
|
))}
|
</LineView>
|
: null}
|
{
|
flag == "do" ?
|
(snapshot.status == 1 ? (
|
<LineView title="回复" lineHeight="50px">
|
<table>
|
<tbody>
|
<tr>
|
<td>回复内容</td>
|
<td>
|
<TextArea
|
placeholder="请输入回复内容"
|
autosize={{ minRows: 2, maxRows: 6 }}
|
onChange={({ target: { value } }) => this.onInputChange({ target: { name: 'opinion', value } })}
|
/>
|
</td>
|
</tr>
|
</tbody>
|
</table>
|
<div>
|
<Button
|
type="primary"
|
className="app-btn"
|
onClick={this.submitAudit}
|
>
|
提交回复
|
</Button>
|
<Button className="app-btn" onClick={this.goBack}>
|
返回
|
</Button>
|
</div>
|
</LineView>
|
) : <div style={{ textAlign: 'center' }}><Button className="app-btn" onClick={this.goBack}>返回</Button></div>
|
) : <div style={{ textAlign: 'center' }}><Button className="app-btn" onClick={this.goBack}>返回</Button></div>}
|
</BusDetailView>
|
</div>
|
);
|
}
|
}
|