forked from gzzfw/frontEnd/gzDyh

zhangyongtian
2024-09-07 172053309302ca857aae36d6769157dc7bb43472
Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh
2 files added
10 files modified
684 ■■■■■ changed files
gz-customerSystem/src/api/appUrl.js 4 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/assets/images/aiPerson.png patch | view | raw | blame | history
gz-customerSystem/src/assets/images/caselogo.png patch | view | raw | blame | history
gz-customerSystem/src/assets/images/index.js 10 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/filesCheck/newFileCheck.jsx 233 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/handleFeedback/component/AuditView.jsx 2 ●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx 59 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/handleFeedback/index.jsx 19 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/index.less 94 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/matterDetail/FileUpLoad.jsx 1 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/levelDetail.jsx 134 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx 128 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/api/appUrl.js
@@ -2,7 +2,7 @@
 * @Company: hugeInfo
 * @Author: ldh
 * @Date: 2022-02-16 11:25:57
 * @LastEditTime: 2024-09-02 19:58:19
 * @LastEditTime: 2024-09-07 16:09:36
 * @LastEditors: dminyi 1301963064@qq.com
 * @Version: 1.0.0
 * @Description: api地址
@@ -18,7 +18,7 @@
  // fileUrl: 'http://gz.hugeinfo.com.cn',
  // 文件查看url 后面接附件编号
  fileShowUrl: "/dyh-sys/api/v1/fileInfo/show/",
  fileShowUrl: "/dyh-sys/api/web/fileInfo/show/",
  // 文件下载url 后面接附件编号
  fileDownUrl: "/dyh-sys/api/v1/fileInfo/down/",
  // 在线文档编辑链接
gz-customerSystem/src/assets/images/aiPerson.png
gz-customerSystem/src/assets/images/caselogo.png
gz-customerSystem/src/assets/images/index.js
@@ -2,7 +2,7 @@
 * @Company: hugeInfo
 * @Author: lwh
 * @Date: 2023-04-24 16:12:00
 * @LastEditTime: 2024-08-30 10:47:30
 * @LastEditTime: 2024-09-07 14:08:18
 * @LastEditors: dminyi 1301963064@qq.com
 * @Version: 1.0.0
 * @Description:
@@ -61,7 +61,9 @@
import applyRecord from "./applyRecord.png";
import downO from "./downO.png";
import up from "./up.png";
import Audit from "./Audit.png"
import Audit from "./Audit.png";
import aiPerson from "./aiPerson.png";
import caselogo from "./caselogo.png";
export {
  ledger_1,
@@ -118,5 +120,7 @@
  applyRecord,
  downO,
  up,
  Audit
  Audit,
  aiPerson,
  caselogo
};
gz-customerSystem/src/views/filesCheck/newFileCheck.jsx
@@ -2,7 +2,7 @@
 * @Company: hugeInfo
 * @Author: ldh
 * @Date: 2022-03-11 11:03:44
 * @LastEditTime: 2024-09-05 20:46:47
 * @LastEditTime: 2024-09-07 16:11:58
 * @LastEditors: dminyi 1301963064@qq.com
 * @Version: 1.0.0
 * @Description: 大厅来访材料附件查看
@@ -44,10 +44,9 @@
const FormItem = Form.Item;
const Option = Select.Option;
// http://localhost:9002/dyh-sys/api/web/fileInfo/listFileByCat?mainId=10001&ownerCat=&createStart=&createEnd=&uploaderType=
// 获取附件
function getFileListDataApi(submitData) {
    return $$.ax.request({ url: `fileInfo/listFileByCat?mainId=${submitData}`, type: 'get', service: 'mediate' });
function getFileListDataApi() {
    return $$.ax.request({ url: `fileInfo/listFileByCat?mainId=${'10001'}&ownerCat=&createStart=&createEnd=&uploaderType=`, type: 'get', service: 'sys', });
}
const NewFileCheck = ({ caseId }) => {
@@ -166,12 +165,12 @@
        const res = await getFileListDataApi(caseId || searchParams.get('caseId'));
        global.setSpinning(false);
        if (res.type) {
            let resData = res.data?.dataList || [];
            let resData = res.data || [];
            let arr = [];
            let filesArr = [];
            let index = 0;
            resData.forEach((x, t) => {
                arr.push(x.ownerTypeName);
                arr.push(x.ownerCatName);
                filesArr = filesArr.concat(x.fileList || []);
            });
            forEach: for (let i = 0; i < filesArr.length - 1; i++) {
@@ -186,6 +185,7 @@
            setOpenKeys(arr);
        }
    }
    console.log(files,'filesfiles')
    useEffect(() => {
        getFileListData();
@@ -277,116 +277,123 @@
                    </Row>
                </Form>
                <Menu
                    className="filesCheck-nav-menu"
                    style={{ width: '200px' }}
                    onOpenChange={(openKeys) => setOpenKeys(openKeys)}
                    mode="inline"
                    selectedKeys={[files[fileIndex]?.id]}
                    openKeys={openKeys}
                >
                    {data.data?.map((x, t) => {
                        return (
                            <SubMenu
                                key={x.ownerTypeName}
                                expandIcon={openKeys.includes(x.ownerTypeName) ? <CaretRightOutlined /> : <CaretDownOutlined />}
                                title={x.ownerTypeName}
                            >
                                {x.fileList?.map((y, z) => {
                                    return (
                                        <Menu.Item
                                            onClick={async () => {
                                                global.setSpinning(true);
                                                for (let i = 0; i < files.length; i++) {
                                                    if (files[i].id === y.id) {
                                                        setFileIndex(i);
                                                        break;
                                                    }
                                                }
                                            }}
                                            icon={iconType(y.cat)}
                                            key={y.id}
                                        >
                                            {y.name}
                                        </Menu.Item>
                                    );
                                })}
                            </SubMenu>
                        );
                    })}
                </Menu>
            </nav>
            {files[fileIndex] ? (
                <main className="filesCheck-main">
                    {/* 头部操作区 */}
                    <div className="filesCheck-main-action">
                        <div className="filesCheck-main-action-title">
                            <h3>{files[fileIndex]?.name}</h3>
                        </div>
                        {files[fileIndex]?.cat === '22_00017-3' && (
                            <>
                                <div className="filesCheck-main-action-item">
                                    <Tooltip title="左转">
                                        <RotateLeftOutlined onClick={() => handleRotateImg('left')} />
                                    </Tooltip>
                                </div>
                                <div className="filesCheck-main-action-item">
                                    <Tooltip title="右转">
                                        <RotateRightOutlined onClick={() => handleRotateImg('right')} />
                                    </Tooltip>
                                </div>
                            </>
                        )}
                        <div className="filesCheck-main-action-item">
                            <Tooltip title="下载">
                                <a href={`${appUrl.fileUrl}${appUrl.fileDownUrl}${files[fileIndex]?.id}`}>
                                    <DownloadOutlined />
                                </a>
                            </Tooltip>
                        </div>
                    </div>
                    {files[fileIndex]?.cat === '22_00017-3' ? (
                        <div className="filesCheck-main-imgBg" ref={imgBgRef}>
                            <img
                                ref={imgRef}
                                style={{ transform: 'scale3d(1,1,1) rotate(0deg)' }}
                                className="filesCheck-main-img"
                                src={`${appUrl.fileUrl}${appUrl.fileShowUrl}${files[fileIndex]?.id}`}
                                alt="图片加载中..."
                            />
                        </div>
                    ) : (
                        <div className="filesCheck-main-other">
                            <div className="filesCheck-main-other-icon">{iconType(files[fileIndex]?.cat)}</div>
                            <div className="filesCheck-main-other-text">
                                您所查看的附件不支持预览,请下载查看{files[fileIndex]?.cat === '22_00017-6' ? '或跳转预览' : ''}。
                            </div>
                            <div>
                                {files[fileIndex]?.cat === '22_00017-6' && (
                                    <Button
                                        className="public-buttonMargin"
                                        onClick={() => window.open(`${appUrl.fileUrl}${appUrl.fileShowUrl}${files[fileIndex]?.id}`)}
                <div style={{ display: 'flex' }}>
                    <div style={{ width: '200px' }}>
                        <Menu
                            // className="filesCheck-nav-menu"
                            style={{ width: '200px' }}
                            onOpenChange={(openKeys) => setOpenKeys(openKeys)}
                            mode="inline"
                            selectedKeys={[files[fileIndex]?.id]}
                            openKeys={openKeys}
                        >
                            {data.data?.map((x, t) => {
                                return (
                                    <SubMenu
                                        key={x.ownerCatName}
                                        expandIcon={openKeys.includes(x.ownerCatName) ? <CaretRightOutlined /> : <CaretDownOutlined />}
                                        title={x.ownerCatName}
                                    >
                                        跳转查看
                                    </Button>
                                        {x.fileList?.map((y, z) => {
                                            return (
                                                <Menu.Item
                                                    onClick={async () => {
                                                        global.setSpinning(true);
                                                        for (let i = 0; i < files.length; i++) {
                                                            if (files[i].id === y.id) {
                                                                setFileIndex(i);
                                                                break;
                                                            }
                                                        }
                                                    }}
                                                    icon={iconType(y.cat)}
                                                    key={y.id}
                                                >
                                                    {y.name}
                                                </Menu.Item>
                                            );
                                        })}
                                    </SubMenu>
                                );
                            })}
                        </Menu>
                    </div>
                    <div style={{ flex: 1 }}>
                        {files[fileIndex] ? (
                            <main className="filesCheck-main">
                                {/* 头部操作区 */}
                                <div className="filesCheck-main-action">
                                    <div className="filesCheck-main-action-title">
                                        <h3>{files[fileIndex]?.name}</h3>
                                    </div>
                                    {files[fileIndex]?.cat === '22_00017-3' && (
                                        <>
                                            <div className="filesCheck-main-action-item">
                                                <Tooltip title="左转">
                                                    <RotateLeftOutlined onClick={() => handleRotateImg('left')} />
                                                </Tooltip>
                                            </div>
                                            <div className="filesCheck-main-action-item">
                                                <Tooltip title="右转">
                                                    <RotateRightOutlined onClick={() => handleRotateImg('right')} />
                                                </Tooltip>
                                            </div>
                                        </>
                                    )}
                                    <div className="filesCheck-main-action-item">
                                        <Tooltip title="下载">
                                            <a href={`${appUrl.fileUrl}${appUrl.fileDownUrl}${files[fileIndex]?.id}`}>
                                                <DownloadOutlined />
                                            </a>
                                        </Tooltip>
                                    </div>
                                </div>
                                {files[fileIndex]?.ownerCat === "22_00014-1" ? (
                                    <div className="filesCheck-main-imgBg" ref={imgBgRef}>
                                        <img
                                            ref={imgRef}
                                            style={{ transform: 'scale3d(1,1,1) rotate(0deg)' }}
                                            className="filesCheck-main-img"
                                            src={`${appUrl.fileUrl}${appUrl.fileShowUrl}${files[fileIndex]?.id}`}
                                            alt="图片加载中..."
                                        />
                                    </div>
                                ) : (
                                    <div className="filesCheck-main-other">
                                        <div className="filesCheck-main-other-icon">{iconType(files[fileIndex]?.cat)}</div>
                                        <div className="filesCheck-main-other-text">
                                            您所查看的附件不支持预览,请下载查看{files[fileIndex]?.cat === '22_00017-6' ? '或跳转预览' : ''}。
                                        </div>
                                        <div>
                                            {files[fileIndex]?.cat === '22_00017-6' && (
                                                <Button
                                                    className="public-buttonMargin"
                                                    onClick={() => window.open(`${appUrl.fileUrl}${appUrl.fileShowUrl}${files[fileIndex]?.id}`)}
                                                >
                                                    跳转查看
                                                </Button>
                                            )}
                                            <a href={`${appUrl.fileUrl}${appUrl.fileDownUrl}${files[fileIndex]?.id}`}>
                                                <Button type="primary">下载</Button>
                                            </a>
                                        </div>
                                    </div>
                                )}
                                <a href={`${appUrl.fileUrl}${appUrl.fileDownUrl}${files[fileIndex]?.id}`}>
                                    <Button type="primary">下载</Button>
                                </a>
                            </div>
                        </div>
                    )}
                    <div className="filesCheck-imgLeft" onClick={() => handleNext('back')}>
                        <LeftOutlined />
                                <div className="filesCheck-imgLeft" onClick={() => handleNext('back')}>
                                    <LeftOutlined />
                                </div>
                                <div className="filesCheck-imgRight" onClick={() => handleNext('next')}>
                                    <RightOutlined />
                                </div>
                            </main>
                        ) : (
                            <div style={{ width: '100%', paddingTop: '20%' }}>{$$.MyEmpty()}</div>
                        )}
                    </div>
                    <div className="filesCheck-imgRight" onClick={() => handleNext('next')}>
                        <RightOutlined />
                    </div>
                </main>
            ) : (
                <div style={{ width: '100%', paddingTop: '20%' }}>{$$.MyEmpty()}</div>
            )}
                </div>
            </nav>
            {/*图片查看*/}
        </>
    );
};
gz-customerSystem/src/views/register/handleFeedback/component/AuditView.jsx
@@ -8,7 +8,7 @@
const FormItem = Form.Item;
const appUrl = $$.appUrl;
const RadioGroup = Radio.Group;// 根据调解案号获取纠纷登记信息
const RadioGroup = Radio.Group;
function delFile(id) {
gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx
@@ -1,6 +1,6 @@
import React, { useState, useRef, useEffect } from 'react';
import { Col, Space, Row, Tooltip } from 'antd';
import { register, } from '@/assets/images';
import { register, aiPerson } from '@/assets/images';
import { Form, Input, Tabs, Typography, Button, Modal, Select } from '@arco-design/web-react';
import { question1, } from '@/assets/images';
import ProgressStep from '@/components/ProgressStep/VisitStep';
@@ -13,7 +13,8 @@
import ArcoUpload from '@/components/ArcoUpload';
import HandleRecord from '../../matterDetail/HandleRecord';
import SupervisingView from '../../matterDetail/Supervising'
import UniteHandle from '../../matterDetail/UniteHandle'
import UniteHandle from '../../matterDetail/UniteHandle';
const Option = Select.Option;
const FormItem = Form.Item;
@@ -99,7 +100,13 @@
  return $$.ax.request({ url: `caseFeedback/updateFeedback`, type: 'post', service: 'mediate', data });
}
function getFeedbackInfoApi(caseTaskId) {
  return $$.ax.request({ url: `caseFeedback/getFeedbackInfo?caseTaskId=` + caseTaskId, type: 'get', service: 'mediate' });
}
function getByIdRoleApi(id) {
  return $$.ax.request({ url: `ctUser/getByIdRole?id=` + id, type: 'get', service: 'cust' });
}
@@ -112,6 +119,8 @@
  const [personView, setPersonView] = useState(false);
  const [supervising, setSupervising] = useState(false)
  const [data, setData] = useState({})
  const [feedbackInfoData, setFeedbackInfoData] = useState({})
  const [personData, setPersonData] = useState({})
  const [caseResult, SetCaseResult] = useState(false);
  const [list, setList] = useState([]);
  const [mode, SetMode] = useState(false);
@@ -175,6 +184,12 @@
  }
  const getByIdRole = async () => {
    const res = await getByIdRoleApi('2105180249501982')
    setPersonData(res.data)
  }
  //删除文件
  const handleDelFile = async (id) => {
@@ -201,7 +216,7 @@
    } else {
      const res = await saveFeedbackApi({
        ...submitData,
        caseId: '24083010062110001',
        caseId: "24083010062110001",
        id: id,
        caseTaskId: '',
      })
@@ -210,6 +225,12 @@
        listFeedback('24083010062110001')
      }
    }
  }
  const getFeedbackInfo = async () => {
    const res = await getFeedbackInfoApi('24083010062110001')
    setFeedbackInfoData(res.data)
    console.log(res.data, 'res.data')
  }
  //获取办理记录接口
@@ -277,10 +298,16 @@
    setSupervising(!supervising)
  }
  const handlePersonView = () => {
    setPersonView(!personView)
  }
  useEffect(() => {
    listFeedback('24083010062110001');
    // getByIdRole()
    getFeedbackInfo();
    getByIdRole();
  }, [])
@@ -296,22 +323,22 @@
          <Row gutter={[16, 16]}>
            <Col span={8} style={{ display: 'flex' }}>
              <div><div className="title-text">承办部门:</div></div>
              <div>天河区棠下街综治中心</div>
              <div>{feedbackInfoData?.handleUnitName}</div>
            </Col>
            <Col span={8} style={{ display: 'flex' }}>
              <div><div className="title-text">经办人:</div></div>
              <div style={{ display: 'flex' }}>
                <div>王一顺</div>
                <img onClick={() => setPersonView(!personView)} src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} />
                <div>{feedbackInfoData?.handleUserName}</div>
                <img onClick={() => handlePersonView()} src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} />
              </div>
            </Col>
            <Col span={8} style={{ display: 'flex' }}>
              <div><div className="title-text">配合部门:</div></div>
              <div>-</div>
              <div>{feedbackInfoData?.assistUnitName}</div>
            </Col>
            <Col span={8} style={{ display: 'flex' }}>
              <div><div className="title-text">受理时间:</div></div>
              <div>2024-7-5 11:45</div>
              <div>{feedbackInfoData?.acceptTime}</div>
            </Col>
          </Row>
@@ -395,7 +422,7 @@
                          >
                            <ArcoUpload
                              params={{
                                action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId='24083010062110001'&&ownerId=${id}&ownerType=22_00018-102`,
                                action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${'24083010062110001'}&ownerId=${id}&ownerType=${'22_00018-501'}`,
                              }}
                              field='file1'
                              // handleChangeFile={handleChangeFile}
@@ -499,21 +526,21 @@
          <table border="1" align="center" cellpadding="5" className="table">
            <tr>
              <th bgcolor="#F7F8FA" className="table-title" width="120">姓名</th>
              <td width='380'><div style={{ display: 'flex' }}><div>{data.trueName}</div></div></td>
              <td width='380'><div style={{ display: 'flex' }}><div>{personData?.trueName}</div></div></td>
              <th bgcolor="#F7F8FA" className="table-title" width="120">登录账号</th>
              <td width='380'>{data.acc}</td>
              <td width='380'>{personData?.acc}</td>
            </tr>
            <tr>
              <th bgcolor="#F7F8FA" className="table-title">手机号码</th>
              <td>{data.mobile}</td>
              <td>{personData?.mobile}</td>
              <th bgcolor="#F7F8FA" className="table-title">工作电话</th>
              <td>020-83002020</td>
              <td>-</td>
            </tr>
            <tr>
              <th bgcolor="#F7F8FA" className="table-title">所属部门</th>
              <td>{data.deptName}</td>
              <td>{personData?.deptName}</td>
              <th bgcolor="#F7F8FA" className="table-title">职务</th>
              <td>主任</td>
              <td>{personData?.userRoles}</td>
            </tr>
          </table>
        </Modal>
gz-customerSystem/src/views/register/handleFeedback/index.jsx
@@ -3,22 +3,22 @@
 * @Author: dminyi 1301963064@qq.com
 * @Date: 2024-08-09 09:59:43
 * @LastEditors: dminyi 1301963064@qq.com
 * @LastEditTime: 2024-09-06 12:03:54
 * @LastEditTime: 2024-09-06 17:43:15
 * @FilePath: \gzDyh\gz-customerSystem\src\views\basicInformation\organization\index.jsx
 * @Description: 来访登记
 * 
 */
import React, { useState, useRef, Fragment } from "react";
import React, { useState } from "react";
import NewPage from '@/components/NewPage';
import * as $$ from '@/utils/utility';
import "@arco-themes/react-gzzz/css/arco.css";
import '../index.less';
import { Typography, Steps, Tabs } from '@arco-design/web-react';
import { Audit, Matter, transfer } from '@/assets/images'
import { Audit, Matter, transfer, aiPerson } from '@/assets/images'
import MatterDetail from '../matterDetail';
import Handle from './component/handle';
import AuditView from './component/AuditView'
import AuditView from './component/AuditView';
import {AiQuestion} from '../visit/component/levelDetail'
const Step = Steps.Step;
const TabPane = Tabs.TabPane;
@@ -31,6 +31,7 @@
const Organization = () => {
    const [current, setCurrent] = useState(3);
    const [tabsActive, setTabsActive] = useState('1');
    const [AiQuestionView, setAiQuestionView] = useState(false)
    const [tabsList, setTabList] = useState([
        {
            img: Matter,
@@ -102,6 +103,14 @@
                    })}
                </Tabs>
            </NewPage>
            <div className="gradient-box" onClick={() => setAiQuestionView(true)}>
                <div><img src={aiPerson} alt='' style={{ width: '24px', height: '24px', marginRight: '6px' }} /></div>
                <div style={{ color: '#FFFFFF' }}>智能调解助理</div>
            </div>
            <AiQuestion
        visible={AiQuestionView}
        onClose={() => setAiQuestionView(false)}
      />
        </div>
    )
}
gz-customerSystem/src/views/register/index.less
@@ -701,4 +701,98 @@
    align-items: center;
    margin-bottom: 4px;
}
.gradient-box {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(to right, #6a1b9a, #e040fb);
    display: flex;
    align-items: center;
    padding: 12px 8px;
    border-radius: 12px 0px 0px 12px;
}
.aiBox {
    flex: 1 1 0%;
    background-color: rgb(242, 243, 245);
    height: 100vh;
    &-case {
        display: flex;
        margin: 16px;
        gap: 10px;
        &-logo {
            width: 30px;
            padding-top: 3px;
            &-img {
                width: 26px;
                height: 26px;
            }
        }
    }
    &-list {
        &-item {
            display: flex;
            background-color: #fff;
            width: fit-content;
            padding: 8px 12px;
            border-radius: 8px;
            margin-bottom: 8px;
            &-type {
                border: 1px solid #1A6FB8;
                padding: 0px 8px;
                color: #1A6FB8;
                border-radius: 4px;
            }
            &-name{
                margin: 0px 16px 0px 8px;
            }
            &-btn{
                color: #1A6FB8;
            }
        }
    }
}
.marginLeft{
    margin-left: 55px;
    //fontWeight: '600', marginBottom: '16px'
    &-title{
        font-weight: 600;
        margin-bottom: 16px;
    }
}
.layerDetail{
    margin-top: -8px;
    &-title{
        color: rgb(26, 111, 184);
        margin-bottom: 16px;
    }
    &-name{
        font-size: 16px;
        margin-bottom: 16px;
    }
    &-littleTitle{
        margin-bottom: 16px;
    }
    &-content{
        margin-bottom: 16px;
    }
}
gz-customerSystem/src/views/register/matterDetail/FileUpLoad.jsx
@@ -35,7 +35,6 @@
  const handleScaned = () => {
    setScaned(true)
    const content = fileView.response.data.ocrResult.wordsResult.join('\n')
    setTimeout(() => {
      console.log(formRef.current, content);
      formRef.current.setFieldValue('scanContent', content)
gz-customerSystem/src/views/register/visit/component/levelDetail.jsx
@@ -2,12 +2,14 @@
 * @Author: dminyi 1301963064@qq.com
 * @Date: 2024-08-27 16:47:12
 * @LastEditors: dminyi 1301963064@qq.com
 * @LastEditTime: 2024-09-05 17:03:04
 * @LastEditTime: 2024-09-07 15:35:53
 * @FilePath: \gzDyh\gz-customerSystem\src\views\register\visit\component\levelDetail.jsx
 * @Description: 右抽屉提示
 */
import React from 'react';
import React, { useState } from 'react';
import MyDrawer from '@/components/MyDrawer';
import { caselogo } from '@/assets/images';
const EventLevelDrawer = ({ visible, onClose }) => {
    return (
@@ -102,6 +104,132 @@
}
const AiQuestion = ({ visible, onClose }) => {
    const [list, setList] = useState([
        {
            id: '1',
            type: '典型案例',
            name: '唐某某诉重庆某工业有限公司劳动合同纠纷案'
        },
        {
            id: '2',
            type: '相似案例',
            name: '曾某某诉某网络科技公司劳动争议案'
        },
        {
            id: '3',
            type: '相似案例',
            name: '曾某某诉某网络科技公司劳动争议案'
        },
    ])
    const [layerList, setLayerList] = useState([
        {
            id: '1',
            name: '法条一'
        },
        {
            id: '2',
            name: '法条二'
        },
        {
            id: '3',
            name: '法条三'
        },
    ])
    const [caseDetail,setCaseDetail] = useState(false)
    const toggleView = (id) => {
        console.log(id, 'iddddddd')
        setCaseDetail(true)
        aiCaseDetail(id)
    };
    const caseDetailOnClose = () => {
        setCaseDetail(false)
    }
    const aiCaseDetail = () => {
    }
export { EventLevelDrawer, MattersDetail, NoHandleReason };
    return (
        <>
            <MyDrawer
                visible={visible}
                onClose={onClose}
                title="智能调解助理"
                width={1000}
                style={{ position: 'absolute' }}
                bodyStyle={{ marginTop: '-8px' }}
                titleBefore={true}
            >
                <div style={{ display: 'flex' }}>
                    <div style={{ width: '100px' }}></div>
                    <div className='aiBox'>
                        <div className='aiBox-case'>
                            <div className='aiBox-case-logo'>
                                <img src={caselogo} alt='' className='aiBox-case-logo-img' />
                            </div>
                            <div style={{ flex: 1 }}>刘家健入职吴昆物流公司工作6天,因不适应工作内容、环境等,向吴昆物流公司提出离职申请,但公司称入职1周内因个人原因辞职不予支付工资。刘家健因此向社区调委会申请调解。刘家健希望吴昆物流公司支付6天的工资。经调解,双方达成一致意见,吴昆物流公司同意支付刘家健6天的工资共计1575元。基于这个案件生成合理的调解策略.</div>
                        </div>
                        <div className='marginLeft'>
                            <div className='marginLeft-title'>相关案例:</div>
                            <div className='aiBox-list'>
                                {list?.map((item, index) => (
                                    <div className='aiBox-list-item'>
                                        <div className='aiBox-list-item-type'>{item.type}</div>
                                        <div className='aiBox-list-item-name'>{item.name}</div>
                                        <div className='aiBox-list-item-btn' onClick={() => toggleView(item.id)}>查看</div>
                                    </div>
                                ))}
                            </div>
                        </div>
                        <div className='marginLeft'>
                            <div className='marginLeft-title'>相关法条:</div>
                            <div className='aiBox-list'>
                                {layerList?.map((item, index) => (
                                    <div className='aiBox-list-item'>
                                        <div className='aiBox-list-item-type'>相关法条</div>
                                        <div className='aiBox-list-item-name'>{item.name}</div>
                                        <div className='aiBox-list-item-btn' onClick={() => toggleView(item.id)}>查看</div>
                                    </div>
                                ))}
                            </div>
                        </div>
                    </div>
                </div>
            </MyDrawer>
            <div className='MyDrawer'>
            <MyDrawer
                visible={caseDetail}
                onClose={caseDetailOnClose}
                title="查看相关案例"
                width={400}
                style={{ position: 'absolute' }}
                bodyStyle={{ marginTop: '-8px' }}
                titleBefore={true}
            >
                <div className='layerDetail'>
                    <div className='layerDetail-title'>参考案例</div>
                    <div className='layerDetail-name'>唐某某诉重庆某工业有限公司劳动合同纠纷案</div>
                    <div className='layerDetail-littleTitle'>智能摘要</div>
                    <div className='layerDetail-content'>法院生效裁判认为,本案是肖某某要求某工业公司支付经济补偿金,原审法院已经确认某工业公司存在未足额支付肖某某工资、未休年休假工资情形,故依照《中华人民共和国劳动合同法》(以下简称劳动合同法)第三十八条第一款的规定,某工业公司应当支付解除合同的经济补偿金。</div>
                </div>
            </MyDrawer>
        </div>
        </>
    )
}
export { EventLevelDrawer, MattersDetail, NoHandleReason, AiQuestion };
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -57,6 +57,32 @@
  const [evidenceNumber, setEvidenceNumber] = useState('');
  const [applyFile, setApplyFile] = useState([]);
  const [evidenceFile, setEvidenceFile] = useState([]);
  const [fakeData1, setFakeData1] = useState([
    {
      ownerTyp: "22_00018-101",
      ownerTypeName: "申请材料",
      size: '0',
      ownerId: null,
      ownerName: null,
      perType: null,
      agentStatus: null,
      fileNames: "-",
      fileList: []
    },
    {
      ownerType: "22_00018-102",
      ownerTypeName: "证据材料",
      size: '0',
      ownerId: null,
      ownerName: null,
      perType: null,
      agentStatus: null,
      fileNames: "-",
      fileList: []
    },
  ]);
  const peopleMap = {
    '15_020008-1': '申请方',
    '15_020008-2': '被申请方',
@@ -109,13 +135,19 @@
  const listIdTypeInfo = async () => {
    const res = await listIdTypeInfoApi({
      mainId: "2409061125411006", //事项ID
      ownerIdList: ["2409061125411006"], //具体所属编号
      mainId: props.mainId, //事项ID
      ownerIdList: [props.mainId], //具体所属编号
      typeList: []
    })
    if (res.type) {
      console.log(res,'resres')
      let data = res.data?.[0]?.fileList
      if (res.data.length > 0) {
        setFakeData1(data)
      }
    }
  }
  // console.log(fakeData1,'fakeData1')
@@ -166,52 +198,6 @@
    }
  }
  const fakeData1 = [
    {
      id: 1,
      caseNo: 'A20230101',
      judicNo: '申请材料',
      perClassName: '李晓明的纠纷化解申请表、身份证...',
      inputUserName: '0',
      mediateUserName: '2024-7-12 12:00',
      judgeName: '王五',
      mediator: '赵六',
      handlerUserName: '钱七',
      returnUserName: '孙八',
      expireTime: '2023-08-10T08:00:00.000Z',
      processName: '进行中',
      otherMediator: '周九',
      canalName: '网络',
      judicResult: '通过',
      assistName: '吴十',
      mediTypeName: '民事调解',
      serieStatus: '1', // 1 表示非系列案,2 表示系列案
      // 更多字段...
    },
    {
      id: 2,
      caseNo: 'A20230101',
      judicNo: '证据材料',
      perClassName: '李晓明的纠纷化解申请表、身份证...',
      inputUserName: '0',
      mediateUserName: '2024-7-12 12:00',
      judgeName: '王五',
      mediator: '赵六',
      handlerUserName: '钱七',
      returnUserName: '孙八',
      expireTime: '2023-08-10T08:00:00.000Z',
      processName: '进行中',
      otherMediator: '周九',
      canalName: '网络',
      judicResult: '通过',
      assistName: '吴十',
      mediTypeName: '民事调解',
      serieStatus: '1', // 1 表示非系列案,2 表示系列案
      // 更多字段...
    },
    // 更多数据...
  ];
  // 列配置
  const fakeColumns = [
@@ -224,36 +210,30 @@
    },
    {
      title: '材料类型',
      dataIndex: 'judicNo',
      key: 'judicNo',
      dataIndex: 'ownerTypeName',
      key: 'ownerTypeName',
      width: 60,
    },
    {
      title: '材料数量',
      dataIndex: 'inputUserName',
      key: 'perClassName',
      dataIndex: 'size',
      key: 'size',
      width: 180,
      render: (text, index) => (
        <div onClick={() => console.log(text, index)}>
          1
          {/* {sourceType === '1' ? matterNumber : sourceType === '2' ? evidenceNumber : 0}份 */}
        </div>
      )
      render: (text) => <span>{text}份</span>,
    },
    {
      title: '材料名称',
      dataIndex: 'perClassName',
      key: 'perClassName',
      dataIndex: 'fileNames',
      key: 'fileNames',
      width: 180,
    },
    {
      title: '最新上传时间',
      dataIndex: 'mediateUserName',
      key: 'mediateUserName',
      dataIndex: 'fileNames',
      key: 'fileNames',
      width: 180,
    },
@@ -304,6 +284,11 @@
  };
  const handleUpload = () => {
    listIdTypeInfo()
    setUpLoad(false);
  };
  const handleCancel = () => {
    // 处理取消逻辑
    setScanFile(false);
@@ -350,10 +335,17 @@
    setEditData(value)
  }
  const uploadQuery = {
    mainId: props.mainId,
    ownerCat: null,
    createStart: null,
    createEnd: null,
    uploaderType:null
  }
  // console.log(sourceType, 'sourceType')
  // console.log(props.formRef?.current?.getFields(),'formRef.current.getFields()')
  useEffect(() => {
    listIdTypeInfo()
  }, [])
  return (
@@ -597,7 +589,7 @@
        columns={fakeColumns}
        dataSource={fakeData1}
        size="small"
        rowKey="id"
        rowKey="ownerType"
        bordered={true}
        style={{ marginBottom: '65px' }}
      />
@@ -642,7 +634,7 @@
                <Row gutter={[32, 0]}>{formType(sourceType)}</Row>
              </Form>
            </Col>
            <Button type="primary" style={{ marginTop: '-20px', marginLeft: '16px' }} onClick={() => { setMatterNumber(fileLength?.length); setEvidenceNumber(evidenceLength?.length); setUpLoad(false) }}>上传完成</Button>
            <Button type="primary" style={{ marginTop: '-20px', marginLeft: '16px' }} onClick={() => handleUpload()}>上传完成</Button>
          </Row>
        </div>
@@ -650,7 +642,7 @@
      <Modal style={{ width: '1200px' }} visible={filesCheck} onCancel={() => setFilesCheck(false)} footer={null} title='查看事件材料' centered>
        {/* <div className="mediationWindow-modal-main" style={{ display: 'flex' }}> */}
        <div style={{ marginTop: '-16px' }}>
          <NewFileCheck />
          <NewFileCheck  />
        </div>
        {/* </div> */}
      </Modal>