From f7452b9d6295748c9840245d26df6514e8ed2c1d Mon Sep 17 00:00:00 2001 From: zhangyongtian <1181606322@qq.com> Date: Sun, 08 Sep 2024 15:30:00 +0800 Subject: [PATCH] 合并冲突 --- gz-customerSystem/src/views/register/visit/component/levelDetail.jsx | 145 +++++++++++++++++++++++++++++++---------------- 1 files changed, 95 insertions(+), 50 deletions(-) diff --git a/gz-customerSystem/src/views/register/visit/component/levelDetail.jsx b/gz-customerSystem/src/views/register/visit/component/levelDetail.jsx index 14556eb..c48c6e5 100644 --- a/gz-customerSystem/src/views/register/visit/component/levelDetail.jsx +++ b/gz-customerSystem/src/views/register/visit/component/levelDetail.jsx @@ -2,13 +2,19 @@ * @Author: dminyi 1301963064@qq.com * @Date: 2024-08-27 16:47:12 * @LastEditors: dminyi 1301963064@qq.com - * @LastEditTime: 2024-09-07 15:35:53 + * @LastEditTime: 2024-09-08 15:06:05 * @FilePath: \gzDyh\gz-customerSystem\src\views\register\visit\component\levelDetail.jsx * @Description: 右抽屉提示 */ -import React, { useState } from 'react'; +import React, { useEffect, useState } from 'react'; import MyDrawer from '@/components/MyDrawer'; import { caselogo } from '@/assets/images'; +import * as $$ from '@/utils/utility'; + + +function getCaseDetailApi(data) { + return $$.ax.request({ urlAi: `case-law/get-case-detail`, typeAi: 'get', service: 'mediate', data }); +} const EventLevelDrawer = ({ visible, onClose }) => { @@ -104,24 +110,28 @@ } -const AiQuestion = ({ visible, onClose }) => { +const AiQuestion = ({ visible, onClose, aiData, aiLawData }) => { const [list, setList] = useState([ - { - id: '1', - type: '典型案例', - name: '唐某某诉重庆某工业有限公司劳动合同纠纷案' - }, - { - id: '2', - type: '相似案例', - name: '曾某某诉某网络科技公司劳动争议案' - }, - { - id: '3', - type: '相似案例', - name: '曾某某诉某网络科技公司劳动争议案' - }, + // { + // id: '1', + // type: '典型案例', + // name: '唐某某诉重庆某工业有限公司劳动合同纠纷案' + // }, + // { + // id: '2', + // type: '相似案例', + // name: '曾某某诉某网络科技公司劳动争议案' + // }, + // { + // id: '3', + // type: '相似案例', + // name: '曾某某诉某网络科技公司劳动争议案' + // }, ]) + const [caseDetailView, setCaseDetailView] = useState({}) + + const [modalType, setModalType] = useState('case') + const [lawDetail, setLawDetail] = useState({}) const [layerList, setLayerList] = useState([ { @@ -138,22 +148,48 @@ }, ]) - const [caseDetail,setCaseDetail] = useState(false) - const toggleView = (id) => { - console.log(id, 'iddddddd') + const [caseDetail, setCaseDetail] = useState(false) + const toggleView = (type, id) => { setCaseDetail(true) - aiCaseDetail(id) + setModalType(type) + + if (type === 'case') { + getCaseDetail(id); + } + if (type === 'law') { + console.log(id,'idddddd') + + const lawItem = aiLawData.find(item => item.lawInfoId === id) + console.log(lawItem,'lawItem') + setLawDetail(lawItem) + } }; + const caseDetailOnClose = () => { setCaseDetail(false) } - const aiCaseDetail = () => { - + const getCaseDetail = async (id) => { + const res = await getCaseDetailApi({ + caseId: id, + type: '1' + }) + if (res.type) { + setCaseDetailView(res.data) + } } + + + + + useEffect(() => { + setList(aiData); + setLayerList(aiLawData); + + }, [aiData, aiLawData]) return ( <> @@ -161,7 +197,7 @@ visible={visible} onClose={onClose} title="智能调解助理" - width={1000} + width={1200} style={{ position: 'absolute' }} bodyStyle={{ marginTop: '-8px' }} titleBefore={true} @@ -180,14 +216,12 @@ <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 className='aiBox-list-item-type'>{item.caseType === 1 ? '典型案例' : '相似案例'}</div> + <div className='aiBox-list-item-name'>{item.caseName}</div> + <div className='aiBox-list-item-btn' onClick={() => toggleView('case', item.caseId)}>查看</div> </div> ))} </div> - - </div> <div className='marginLeft'> <div className='marginLeft-title'>相关法条:</div> @@ -195,8 +229,8 @@ {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 className='aiBox-list-item-name'>{item.lawTitle}{item.lawIndex}</div> + <div className='aiBox-list-item-btn' onClick={() => toggleView('law', item.lawInfoId)}>查看</div> </div> ))} </div> @@ -206,24 +240,35 @@ </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> + <MyDrawer + visible={caseDetail} + onClose={caseDetailOnClose} + title={modalType === 'case'?"查看相关案例":"查看相关法条"} + width={400} + style={{ position: 'absolute' }} + bodyStyle={{ marginTop: '-8px' }} + titleBefore={true} + > + { + modalType === 'case' && + <div className='layerDetail'> + <div className='layerDetail-title'>参考案例</div> + <div className='layerDetail-name'>{caseDetailView?.caseTitle || '-'}</div> + <div className='layerDetail-littleTitle'>基本案情</div> + <div className='layerDetail-content'>{caseDetailView?.caseDesc || '-'}</div> + <div className='layerDetail-littleTitle'>结果</div> + <div className='layerDetail-content'>{caseDetailView?.caseClaim || '-'}</div> + </div> + } + { + modalType === 'law' && + <div className='layerDetail'> + <div className='layerDetail-title'>{lawDetail?.lawIndex} {lawDetail?.lawTitle}</div> + <div className='layerDetail-littleTitle'>{lawDetail.lawDesc}</div> + </div> + } + </MyDrawer> + </div> </> -- Gitblit v1.8.0