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