From 172053309302ca857aae36d6769157dc7bb43472 Mon Sep 17 00:00:00 2001 From: zhangyongtian <1181606322@qq.com> Date: Sat, 07 Sep 2024 16:54:33 +0800 Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh --- gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx | 59 +++- gz-customerSystem/src/views/register/matterDetail/FileUpLoad.jsx | 1 gz-customerSystem/src/views/register/index.less | 94 +++++++ gz-customerSystem/src/assets/images/index.js | 10 gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx | 128 +++++----- gz-customerSystem/src/views/filesCheck/newFileCheck.jsx | 233 ++++++++++--------- gz-customerSystem/src/views/register/visit/component/levelDetail.jsx | 134 ++++++++++ gz-customerSystem/src/views/register/handleFeedback/index.jsx | 19 + gz-customerSystem/src/api/appUrl.js | 4 gz-customerSystem/src/assets/images/aiPerson.png | 0 gz-customerSystem/src/assets/images/caselogo.png | 0 gz-customerSystem/src/views/register/handleFeedback/component/AuditView.jsx | 2 12 files changed, 472 insertions(+), 212 deletions(-) diff --git a/gz-customerSystem/src/api/appUrl.js b/gz-customerSystem/src/api/appUrl.js index 06e403f..0a06d79 100644 --- a/gz-customerSystem/src/api/appUrl.js +++ b/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/", // 在线文档编辑链接 diff --git a/gz-customerSystem/src/assets/images/aiPerson.png b/gz-customerSystem/src/assets/images/aiPerson.png new file mode 100644 index 0000000..203085f --- /dev/null +++ b/gz-customerSystem/src/assets/images/aiPerson.png Binary files differ diff --git a/gz-customerSystem/src/assets/images/caselogo.png b/gz-customerSystem/src/assets/images/caselogo.png new file mode 100644 index 0000000..f064573 --- /dev/null +++ b/gz-customerSystem/src/assets/images/caselogo.png Binary files differ diff --git a/gz-customerSystem/src/assets/images/index.js b/gz-customerSystem/src/assets/images/index.js index 128e320..9a8f3c0 100644 --- a/gz-customerSystem/src/assets/images/index.js +++ b/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 }; \ No newline at end of file diff --git a/gz-customerSystem/src/views/filesCheck/newFileCheck.jsx b/gz-customerSystem/src/views/filesCheck/newFileCheck.jsx index 5d85122..ee9ddb3 100644 --- a/gz-customerSystem/src/views/filesCheck/newFileCheck.jsx +++ b/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> + {/*图片查看*/} </> ); }; diff --git a/gz-customerSystem/src/views/register/handleFeedback/component/AuditView.jsx b/gz-customerSystem/src/views/register/handleFeedback/component/AuditView.jsx index e9238b0..fb9456b 100644 --- a/gz-customerSystem/src/views/register/handleFeedback/component/AuditView.jsx +++ b/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) { diff --git a/gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx b/gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx index 186e5cf..0340129 100644 --- a/gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx +++ b/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> diff --git a/gz-customerSystem/src/views/register/handleFeedback/index.jsx b/gz-customerSystem/src/views/register/handleFeedback/index.jsx index d384530..2aa9934 100644 --- a/gz-customerSystem/src/views/register/handleFeedback/index.jsx +++ b/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> ) } diff --git a/gz-customerSystem/src/views/register/index.less b/gz-customerSystem/src/views/register/index.less index cb8d2af..1bc0930 100644 --- a/gz-customerSystem/src/views/register/index.less +++ b/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; + } } \ No newline at end of file diff --git a/gz-customerSystem/src/views/register/matterDetail/FileUpLoad.jsx b/gz-customerSystem/src/views/register/matterDetail/FileUpLoad.jsx index 3167be5..5d1dba2 100644 --- a/gz-customerSystem/src/views/register/matterDetail/FileUpLoad.jsx +++ b/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) diff --git a/gz-customerSystem/src/views/register/visit/component/levelDetail.jsx b/gz-customerSystem/src/views/register/visit/component/levelDetail.jsx index 43816a1..14556eb 100644 --- a/gz-customerSystem/src/views/register/visit/component/levelDetail.jsx +++ b/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 }; \ No newline at end of file + + 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 }; \ No newline at end of file diff --git a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx index ce4f64f..fd11eb0 100644 --- a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx +++ b/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> -- Gitblit v1.8.0