messageDetails.jsx 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. import React from 'react';
  2. import $ from 'jquery/src/ajax';
  3. import {
  4. Modal,
  5. message,
  6. Spin,
  7. Upload,
  8. Button,
  9. Form,
  10. } from 'antd';
  11. import {getProvince} from '@/NewDicProvinceList';
  12. import '../policy/policy.less';
  13. import {getReleaseStateList,getNewPosition,splitUrl,getNewType} from '@/tools';
  14. const NewDetail = Form.create()(React.createClass({
  15. getInitialState() {
  16. return {
  17. visible: false,
  18. loading: false,
  19. };
  20. },
  21. loadData(id) {
  22. this.setState({
  23. loading: true
  24. });
  25. $.ajax({
  26. method: "get",
  27. dataType: "json",
  28. crossDomain: false,
  29. url: globalConfig.context + '/api/admin/news/detail' ,
  30. data: {
  31. id: id
  32. },
  33. success: function (data) {
  34. let thisData = data.data;
  35. if (!thisData) {
  36. if (data.error && data.error.length) {
  37. message.warning(data.error[0].message);
  38. };
  39. thisData = {};
  40. };
  41. this.setState({
  42. id:thisData.id,
  43. data: thisData,
  44. });
  45. }.bind(this),
  46. }).always(function () {
  47. this.setState({
  48. loading: false
  49. });
  50. }.bind(this));
  51. },
  52. cancelFun(){
  53. this.props.closeDesc();
  54. },
  55. componentWillMount() {
  56. if (this.props.data.id) {
  57. this.loadData(this.props.data.id);
  58. } else {
  59. this.state.data = {};
  60. };
  61. },
  62. componentWillReceiveProps(nextProps) {
  63. if (!this.props.visible && nextProps.visible) {
  64. this.state.textFileList = [];
  65. this.state.videoFileList = [];
  66. if (nextProps.data.id) {
  67. this.loadData(nextProps.data.id);
  68. } else {
  69. this.state.data = {};
  70. };
  71. this.props.form.resetFields();
  72. };
  73. },
  74. render() {
  75. const theData = this.state.data || {};
  76. const FormItem = Form.Item
  77. const formItemLayout = {
  78. labelCol: { span: 6 },
  79. wrapperCol: { span: 12 },
  80. };
  81. return (
  82. <div className='login'>
  83. <Form layout="horizontal" id="demand-form">
  84. <Spin spinning={this.state.loading}>
  85. <div className="clearfix">
  86. <FormItem className="half-item" {...formItemLayout} label="编号">
  87. <span>{theData.biahao}</span>
  88. </FormItem>
  89. <FormItem className="half-item" {...formItemLayout} label="创建人">
  90. <span>{theData.biahao}</span>
  91. </FormItem>
  92. </div>
  93. <div>
  94. <FormItem className="half-item" {...formItemLayout} label="标题">
  95. <span>{theData.name}</span>
  96. </FormItem>
  97. </div>
  98. <div className="clearfix">
  99. <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="消息内容">
  100. <span>{thisData.dads}</span>
  101. </FormItem>
  102. </div>
  103. <div className="clearfix">
  104. <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="推送时间">
  105. <span>{theData.releaseStatus?'已推送':'未推送'}</span>
  106. </FormItem>
  107. </div>
  108. </Spin>
  109. </Form>
  110. </div>
  111. )
  112. }
  113. }));
  114. export default NewDetail;