| | |
| | | * @Company: hugeInfo |
| | | * @Author: ldh |
| | | * @Date: 2022-02-16 11:25:57 |
| | | * @LastEditTime: 2024-09-11 13:37:26 |
| | | * @LastEditTime: 2024-09-12 20:34:31 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @Version: 1.0.0 |
| | | * @Description: api地址 |
| | |
| | | export const debug = { |
| | | // web服务 |
| | | // baseUrl: 'http://gz.hugeinfo.com.cn', |
| | | baseUrl: "http://eg9gsd.natappfree.cc", |
| | | baseUrl: "http://192.168.3.108:9002", |
| | | // baseUrl: 'http://mdqgnh.natappfree.cc', |
| | | |
| | | // 附件服务 |
| | | fileUrl: "http://eg9gsd.natappfree.cc", |
| | | fileUrl: "http://192.168.3.108:9002", |
| | | // fileUrl: 'http://gz.hugeinfo.com.cn', |
| | | |
| | | // 文件查看url 后面接附件编号 |
| | |
| | | * @Author: dminyi 1301963064@qq.com |
| | | * @Date: 2024-08-29 20:43:25 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @LastEditTime: 2024-09-05 09:34:19 |
| | | * @LastEditTime: 2024-09-12 18:15:43 |
| | | * @FilePath: \gzDyh\gz-customerSystem\src\components\WantUserTag\Handling.jsx |
| | | * @Description: 经办人 |
| | | */ |
| | |
| | | <div className="wantUserTag-wantHandleUser-left"><img src={person} alt=''/></div> |
| | | <div className="wantUserTag-wantHandleUser-right">{name}</div> |
| | | <div onClick={() => onClose(value)} className="wantUserTag-wantHandleUser-icon"> |
| | | <CloseOutlined /> |
| | | <CloseOutlined style={{ fontSize: '12px'}} /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | margin-left: 8px; |
| | | } |
| | | |
| | | &-left{ |
| | | margin-top: -5px; |
| | | } |
| | | |
| | | &-icon{ |
| | | color: #1D2129; |
| | | margin-top: -2px; |
| | | margin-left: 8px; |
| | | } |
| | | } |
| | | |
| | |
| | | .MediationInfo { |
| | | &-subTitle { |
| | | width: 4px; |
| | | height: 14px; |
| | | height: 16px; |
| | | background-color: @main-color; |
| | | } |
| | | } |
| | |
| | | import SupervisingView from '../../matterDetail/Supervising' |
| | | import UniteHandle from '../../matterDetail/UniteHandle'; |
| | | import { useNavigate } from 'react-router-dom'; |
| | | import MyUpload from '@/components/MyUpload'; |
| | | |
| | | |
| | | |
| | | const Option = Select.Option; |
| | |
| | | return $$.ax.request({ url: `caseTask/listCaseFlow?caseId=` + caseId, type: 'get', service: 'mediate' }); |
| | | } |
| | | |
| | | //删除经办人 |
| | | function deletePrincipalApi(caseId) { |
| | | return $$.ax.request({ url: `caseInfoUnfold/deletePrincipal?caseId=` + caseId, type: 'get', service: 'mediate' }); |
| | | } |
| | | |
| | | const Handle = ({ authorData, caseTaskId, caseId }) => { |
| | | const formRef = useRef(); |
| | | const navigate = useNavigate(); |
| | | const [selectedTab, setSelectedTab] = useState('1'); // 默认选中第一个 tab |
| | | const [selectedTab1, setSelectedTab1] = useState('1'); // 默认选中第一个 tab |
| | | const [wantUser, setWantUser] = useState({}); |
| | | const [formView, setFormView] = useState(false); |
| | |
| | | // 处理确认逻辑 |
| | | setScannerVisible(false); |
| | | }; |
| | | |
| | | const handleWantUserClose = () => { |
| | | setWantUser({ wantUserId: null, wantUserName: null }) |
| | | deletePrincipalApi(caseId) |
| | | } |
| | | |
| | | const handleCancel = () => { |
| | | // 处理取消逻辑 |
| | |
| | | const getFeedbackInfo = async () => { |
| | | const res = await getFeedbackInfoApi(caseId) |
| | | if (res.type) { |
| | | setFeedbackInfoData(() => res.data) |
| | | // getByIdRole(); |
| | | let data = res.data; |
| | | setFeedbackInfoData(data); |
| | | setWantUser({ wantUserName: data?.handleUserName }) |
| | | } |
| | | } |
| | | |
| | |
| | | <div className='container-top'> |
| | | <Col span={24}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>办理信息</h5> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>办理信息</h4> |
| | | </Space> |
| | | </Col> |
| | | <Row gutter={[16, 16]}> |
| | |
| | | </Col> |
| | | <Col span={8} style={{ display: 'flex' }}> |
| | | <div><div className="title-text">经办人:</div></div> |
| | | <div style={{ display: 'flex' }}> |
| | | <div style={{ marginTop: '-4px' }}> |
| | | { |
| | | feedbackInfoData?.handleUserName ? |
| | | wantUser.wantUserName ? |
| | | <> |
| | | <div>{feedbackInfoData?.handleUserName}</div> |
| | | <img onClick={() => handlePersonView()} src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} /> |
| | | </> : |
| | | <WantUserTag name={wantUser.wantUserName} onClose={() => handleWantUserClose()} /> </> |
| | | : |
| | | <Button onClick={() => { setIsModalVisible(true); }} style={{ color: '#1A6FB8', marginTop: '-2px' }} type='outline'>选择</Button> |
| | | } |
| | | </div> |
| | |
| | | <div className='container-bottom-left'> |
| | | <Col span={24} style={{}}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>办理反馈</h5> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>办理反馈</h4> |
| | | </Space> |
| | | </Col> |
| | | <Form |
| | |
| | | <Col span={24}> |
| | | <HandleRecord isReview={false} handleEdit={handleEdit} data={list} /> |
| | | {/* {formView && */} |
| | | <div className='Form' style={{ display: formView ? '' : 'none' }}> |
| | | <div className='Form' style={{ display: formView ? '' : 'none', marginBottom: '50px' }}> |
| | | <Col span={24} style={{ marginBottom: '8px' }}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>添加办理记录</h5> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>添加办理记录</h4> |
| | | </Space> |
| | | </Col> |
| | | <Col span={24}> |
| | |
| | | <Input.TextArea |
| | | maxLength={200} |
| | | showWordLimit |
| | | rows={5} |
| | | rows={7} |
| | | placeholder='办理意见应该填写完整,办理意见应具备5要素:调解时间+调解参与部门/人+调解地点+调解过程+调解结果' |
| | | wrapperStyle={{ width: '100%' }} |
| | | /> |
| | |
| | | } |
| | | > |
| | | <Typography.Paragraph> |
| | | <div className='progress' style={{ paddingBottom: '16px' }}> |
| | | <div className='progress' style={{ paddingBottom: '16px', marginTop: '0px' }} > |
| | | <ProgressStep progressData={progressData} hasTab={true} /> |
| | | </div> |
| | | |
| | |
| | | } |
| | | > |
| | | { |
| | | item.isNeedStep && <div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}> |
| | | item.isNeedStep && <div style={{ backgroundColor: '#fff', margin: '0px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}> |
| | | <Steps type='navigation' current={current}> |
| | | <Step title='来访登记' disabled /> |
| | | <Step title='事件流转' disabled /> |
| | |
| | | margin-bottom: 8px; |
| | | margin-right: 16px; |
| | | align-items: center; |
| | | font-size: 14px; |
| | | |
| | | |
| | | &-type { |
| | |
| | | * @Author: dminyi 1301963064@qq.com |
| | | * @Date: 2024-09-06 09:40:00 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @LastEditTime: 2024-09-12 15:09:10 |
| | | * @LastEditTime: 2024-09-12 20:48:45 |
| | | * @FilePath: \gzDyh\gz-customerSystem\src\views\register\matterDetail\HandleRecord.jsx |
| | | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
| | | */ |
| | | import React, { useState, useEffect } from 'react'; |
| | | import { Empty } from '@arco-design/web-react'; |
| | | import { fold, down, empty, edit } from '@/assets/images'; |
| | | import { Image } from 'antd'; |
| | | // import {link} from '@/assets/image'; |
| | | import * as $$ from '@/utils/utility'; |
| | | |
| | | |
| | | export default function HandleRecord(props) { |
| | | const appUrl = $$.appUrl; |
| | | const [list, setList] = useState([]); |
| | | const [imgVisible, setImgVisible] = useState({ visible: false, src: '' }); |
| | | |
| | | |
| | | useEffect(() => { |
| | | setList(props.data) |
| | |
| | | const handleEdit = (id) => { |
| | | props.handleEdit(id) |
| | | } |
| | | |
| | | function handleOpenFiles(record) { |
| | | if (record.cat === '22_00017-3') { |
| | | setImgVisible({ visible: true, src: `${appUrl.fileUrl}/${appUrl.sys}${record.showUrl}` }); |
| | | } else if (record.cat === '22_00017-6' || record.cat === '22_00017-1' || record.cat === '22_00017-2') { |
| | | window.open(`${appUrl.fileUrl}${appUrl.fileShowUrl}${record.id}`); |
| | | } else { |
| | | $$.info({ type: 'warning', content: '抱歉,暂不支持在线查看,已下载请查看' }); |
| | | window.open(`${appUrl.fileUrl}${appUrl.fileDownUrl}${record.id}`); |
| | | } |
| | | } |
| | | |
| | | |
| | | return ( |
| | | <div> |
| | |
| | | </tr> |
| | | <tr> |
| | | <th bgcolor="#F7F8FA" className="table-title" width="120">办理附件</th> |
| | | <td>{record?.fileInfoList?.[0]?.trueName || '-'}</td> |
| | | <div style={{ display: 'none' }}> |
| | | <Image |
| | | src={imgVisible.src} |
| | | preview={{ |
| | | visible: imgVisible.visible, |
| | | src: imgVisible.src, |
| | | onVisibleChange: (value) => setImgVisible({ visible: false }), |
| | | }} |
| | | /> |
| | | </div> |
| | | <td style={{color:'#1A6FB8'}} onClick={() => handleOpenFiles(record?.fileInfoList?.[0])}> |
| | | {/* <img src={link} alt=''/> */} |
| | | {record?.fileInfoList?.[0]?.name || '-'} |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | |
| | | description='暂无数据' |
| | | /> |
| | | } |
| | | |
| | | </div> |
| | | ) |
| | | } |
| | |
| | | |
| | | <Col span={24} style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>当事人信息</h5> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>当事人信息</h4> |
| | | </Space> |
| | | {props.hasApplet && <div> |
| | | <Switch checkedChildren="当事人小程序可见" unCheckedChildren="当事人小程序不可见" defaultChecked /> |
| | |
| | | </div> |
| | | <Col span={24} className='title'> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>纠纷基本情况</h5> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>纠纷基本情况</h4> |
| | | </Space> |
| | | </Col> |
| | | <Row gutter={[16, 16]}> |
| | |
| | | </Row> |
| | | <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px', marginTop: '20px' }}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>事件材料</h5> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>事件材料</h4> |
| | | </Space> |
| | | </Col> |
| | | <FileTable mainId={props.caseId} fileInfoList={infoData.fileInfoList} isReview={true} /> |
| | |
| | | <> |
| | | <Col span={24} style={{ marginTop: '12px' }}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>登记信息</h5> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>登记信息</h4> |
| | | </Space> |
| | | </Col> |
| | | <Row gutter={[16, 16]}> |
| | |
| | | * @Author: dminyi 1301963064@qq.com |
| | | * @Date: 2024-08-27 16:47:12 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @LastEditTime: 2024-09-11 13:35:29 |
| | | * @LastEditTime: 2024-09-12 17:19:32 |
| | | * @FilePath: \gzDyh\gz-customerSystem\src\views\register\visit\component\levelDetail.jsx |
| | | * @Description: 右抽屉提示 |
| | | */ |
| | |
| | | ]) |
| | | |
| | | const [caseDetail, setCaseDetail] = useState(false) |
| | | const toggleView = (type, id, caseType) => { |
| | | const toggleView = (type, id, caseType, name) => { |
| | | setCaseDetail(true) |
| | | setModalType(type) |
| | | |
| | | |
| | | if (type === 'case') { |
| | | getCaseDetail(id, caseType); |
| | | getCaseDetail(id, caseType, name); |
| | | } |
| | | if (type === 'law') { |
| | | console.log(id, 'idddddd') |
| | | |
| | | const lawItem = aiLawData.find(item => item.lawInfoId === id) |
| | | console.log(lawItem, 'lawItem') |
| | | setLawDetail(lawItem) |
| | | } |
| | | }; |
| | |
| | | setCaseDetail(false) |
| | | } |
| | | |
| | | const getCaseDetail = async (id, type) => { |
| | | const getCaseDetail = async (id, type,name) => { |
| | | const res = await getCaseDetailApi({ |
| | | caseId: id, |
| | | type: type |
| | | }) |
| | | if (res.type) { |
| | | setCaseDetailView(res.data) |
| | | setCaseDetailView({ ...res.data, caseTitle: name }) |
| | | } |
| | | } |
| | | |
| | |
| | | onClose={onClose} |
| | | title="穗调解数智人" |
| | | width={1200} |
| | | style={{ position: 'absolute' }} |
| | | // style={{ position: 'absolute' }} |
| | | bodyStyle={{ marginTop: '-8px' }} |
| | | titleBefore={true} |
| | | > |
| | |
| | | <div className='aiBox-list-item'> |
| | | <div className='aiBox-list-item-type'>{item.caseType === 1 ? '典型案例' : '相似案例'}</div> |
| | | <div className='aiBox-list-item-name'>{item.caseName}</div> |
| | | <div className='aiBox-list-item-btn' onClick={() => toggleView('case', item.caseId, item.caseType)} >查看</div> |
| | | <div className='aiBox-list-item-btn' onClick={() => toggleView('case', item.caseId, item.caseType, item.caseName)} >查看</div> |
| | | </div> |
| | | ))} |
| | | </div> |
| | |
| | | visible={caseDetail} |
| | | onClose={caseDetailOnClose} |
| | | title={modalType === 'case' ? "查看相关案例" : "查看相关法条"} |
| | | width={400} |
| | | style={{ position: 'absolute' }} |
| | | width={700} |
| | | // style={{ position: 'absolute' }} |
| | | bodyStyle={{ marginTop: '-8px' }} |
| | | titleBefore={true} |
| | | > |