广州市综治平台前端
xusd
2 days ago e8071c7d6f7aa6ac0d5522c59a52ee5e187a4b16
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
/*
 * @Company: hugeInfo
 * @Author: lwh
 * @Date: 2024-12-14 11:11:04
 * @LastEditTime: 2024-12-14 11:38:16
 * @LastEditors: lwh
 * @Version: 1.0.0
 * @Description: 司法确认查看案件详情
 */
import React, { useState, useEffect } from 'react';
import { Row, Space, Typography, Tooltip } from 'antd';
import { Scrollbars } from "react-custom-scrollbars";
import Preview from '../register/visit/preview';
import HandleRecord from '../register/matterDetail/HandleRecord';
import RateModule from '../register/matterDetail/RateModule';
import RegisInfoModule from '../register/matterDetail/RegisInfoModule';
import DismissModule from "../register/matterDetail/DismissModule";
 
import * as $$ from '../../utils/utility';
 
function listFeedbackApi(id) {
  return $$.ax.request({ url: `caseFeedback/listFeedback?id=` + id, type: 'get', service: 'mediate' });
}
 
function getByCaseIdApi(caseId) {
  return $$.ax.request({ url: `caseEvaluate/getByCaseId?caseId=${caseId}`, type: 'get', service: 'mediate' });
}
// 办理结果(化解结果、协议文书等结案信息)
function getTransactResultApi(caseId) {
  return $$.ax.request({ url: `caseInfoUnfold/getTransactResult?caseId=${caseId}`, type: 'get', service: 'mediate' });
}
 
const CaseDetail = ({ caseId, caseData }) => {
  const [data, setData] = useState({});
 
  const [transactResult, setTransactResult] = useState(null);
 
  const [grade, setGrade] = useState(null);
  const [list, setList] = useState([])
 
  const [dismissData, setDismissData] = useState(null);
  
  async function getTransactResult(id) {
    const res = await getTransactResultApi(id)
    if (res.type) {
      if (res.data) {
        setTransactResult({ ...res.data })
      } else {
        setTransactResult(null)
      }
    }
  }
 
  const listFeedback = async (id) => {
    const res = await listFeedbackApi(id)
    if (res.type) {
      let data = res.data.caseFeedbackList
      setList(data)
    }
  }
 
  const getByCaseId = async (id) => {
    const res = await getByCaseIdApi(id)
    if (res.type) {
      setGrade(res.data)
    }
  }
 
  useEffect(() => {
    getByCaseId(caseId);
    listFeedback(caseId);
    getTransactResult(caseId)
  }, [caseId]);
 
  return (
    <>
      <Scrollbars style={{ height: 'calc(100vh - 219px)' }} autoHide>
        <div style={{ backgroundColor: '#ffff', margin: '0 16px 0px 16px', padding: '12px', marginTop: '8px' }}>
          <Preview videoList={[]} isReview={true} mainId={caseId} data={caseData} transactResult={transactResult} isDoc={true} />
        </div>
        {list.length != 0 &&
          <div style={{ backgroundColor: '#ffff', margin: '8px 16px 0px 16px', padding: '12px' }}>
            <Space size='small'>
              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>办理记录({list.length})</h4>
            </Space>
            <HandleRecord isReview={true} data={list} noEdit />
          </div>
        }
        {grade &&
          <div style={{ backgroundColor: '#ffff', margin: '8px 16px 0px 16px', padding: '12px' }}>
            <RateModule grade={grade} />
          </div>
        }
        {caseData?.canal === '22_00001-1' &&
          <div style={{ backgroundColor: '#ffff', margin: '8px 16px 0px 16px', padding: '12px' }}>
            <RegisInfoModule caseInfo={caseData} />
          </div>
        }
        {dismissData && <div style={{ backgroundColor: '#ffff', margin: '8px 16px 0px 16px', padding: '12px' }}>
          <DismissModule dismissData={dismissData} />
        </div>}
        <div style={{ backgroundColor: '#ffff', margin: '0 16px 64px 16px', padding: '12px' }}></div>
      </Scrollbars>
    </>
  );
};
 
export default CaseDetail;