forked from gzzfw/frontEnd/gzDyh

zhangyongtian
2024-09-14 874ae825083ee5576c6e6cacc7cb4bba15c0077a
gz-customerSystem/src/views/register/handleFeedback/index.jsx
@@ -3,7 +3,7 @@
 * @Author: dminyi 1301963064@qq.com
 * @Date: 2024-08-09 09:59:43
 * @LastEditors: dminyi 1301963064@qq.com
 * @LastEditTime: 2024-09-10 19:11:33
 * @LastEditTime: 2024-09-11 12:20:34
 * @FilePath: \gzDyh\gz-customerSystem\src\views\basicInformation\organization\index.jsx
 * @Description: 来访登记
 * 
@@ -14,13 +14,13 @@
import "@arco-themes/react-gzzz/css/arco.css";
import '../index.less';
import { Typography, Steps, Tabs } from '@arco-design/web-react';
import { Audit, Matter, applyRecord, transfer, aiPerson } from '@/assets/images'
import { Audit, Matter, applyRecord, transfer, Aimge, examine } from '@/assets/images'
import MatterDetail from '../matterDetail';
import Handle from './component/handle';
import AuditView from './component/AuditView';
import { AiQuestion } from '../visit/component/levelDetail';
import * as $$ from '@/utils/utility';
import { useParams } from 'react-router-dom';
import ApplyInfo from "../matterDetail/ApplyInfo";
const Step = Steps.Step;
@@ -38,8 +38,6 @@
   return $$.ax.request({ urlAi: `case-law/get-law`, typeAi: 'post', service: 'mediate', data });
}
function getTabButton(caseTaskId) {
   return $$.ax.request({ url: `caseTask/getTabButton?caseTaskId=` + caseTaskId, type: 'get', service: 'mediate' });
}
@@ -48,10 +46,7 @@
   return $$.ax.request({ url: '/caseInfo/getCaseInfo?id=' + id, type: 'get', service: 'mediate' });
}
const Organization = () => {
   const routeData = useParams();
   const caseTaskId = $$.getQueryString('caseTaskId')
   const caseId = $$.getQueryString('caseId')
   const [current, setCurrent] = useState(3);
@@ -60,11 +55,14 @@
   const [aiData, setAiData] = useState([])
   const [aiLawData, setAiLawData] = useState([]);
   const [caseDetailAi, setCaseDetailAi] = useState({});
   const [caseDetailView, setCaseDetail] = useState({})
   const [authorData, setAuthorData] = useState({});
   const [disTab, setDisTab] = useState(true);
   const [tabsList, setTabsList] = useState([]);
   const myTab = [
      {
         img: Matter,
         label: '详情',
         key: "dslxq"
      },
      {
         img: Matter,
         label: '事项详情',
@@ -81,28 +79,37 @@
         label: '申请记录',
         key: "sqjl",
      },
      {
         img: examine,
         label: '联合处置审核',
         key: 'lhczsh',
      },
   ]
   useEffect(() => {
      getCaseInfo(caseId)
      getAuthor();
   }, [])
   const handleAi = () => {
      setAiQuestionView(true)
   }
   const getCase = async () => {
   const getCase = async (caseDes, caseClaim) => {
      const res = await getCaseApi({
         caseDes: caseDetailAi?.caseDes,
         caseClaim: caseDetailAi?.caseClaim,
         caseDes: caseDes,
         caseClaim: caseClaim,
         caseId: caseId
      })
      console.log(res.data, 'res')
      if (res.type) {
         setAiData(res.data)
      }
   }
   const getLaw = async () => {
   const getLaw = async (caseDes, caseClaim) => {
      const res = await getLawApi({
         caseDes: caseDetailAi?.caseDes,
         caseClaim: caseDetailAi?.caseClaim,
         caseDes: caseDes,
         caseClaim: caseClaim,
         caseId: caseId
      })
      if (res.type) {
@@ -110,17 +117,13 @@
      }
   }
   const getAuthor = async () => {
      const res = await getTabButton(caseTaskId)
      if (res.type) {
         const { tabList } = res.data
         console.log(tabList, 'tabList1')
         setAuthorData(res.data)
         if (tabList.length === 0) {
            //没有tab就不展示
            setDisTab(false)
         } else {
            setTabsList(myTab.filter(item => {
               const flag = tabList.some(result => {
@@ -130,7 +133,6 @@
               })
               return flag
            }))
            console.log(tabsList, 'tabsList2')
            setTabsActive(tabList[0].id)
         }
      }
@@ -139,26 +141,29 @@
   const getCaseInfo = async (id) => {
      const res = await getCaseInfoApi(id)
      if (res.type) {
         console.log(res, 'res')
         let caseDes = res.data.caseDes;
         let caseClaim = res.data.caseClaim;
         setCaseDetailAi({ caseDes: caseDes, caseClaim: caseClaim })
         setCaseDetailAi(caseDes)
         getCase(caseDes, caseClaim);
         getLaw(caseDes, caseClaim);
      }
   }
   useEffect(() => {
      getCaseInfo(caseId)
      getAuthor();
      getCase();
      getLaw();
   }, [])
   //根据id定义组件
   const getTypeDom = (key) => {
      if (key === 'sxxq' || key === 'dslxq') {
         return <MatterDetail hasApplet={true} hasEditBtn={true} authorData={authorData} caseId={caseId} />
      }
      if (key === 'sxbl') {
         return <Handle authorData={authorData} caseId={caseId} caseTaskId={caseTaskId} />
      }
      if (key === 'sqjl') {
         return <ApplyInfo />
      }
      if (key === 'lhczsh') {
         return <AuditView authorData={authorData} caseId={caseId} caseTaskId={caseTaskId} />
      }
   }
   return (
      <div style={{ position: 'relative', height: '100vh' }}>
@@ -168,9 +173,9 @@
            }
         >
            <Tabs
               defaultActiveTab='sxxq'
               onChange={(v) => setTabsActive(v)}
               className='myTabContent'
               activeTab={tabsActive}
            >
               {tabsList?.map(item => {
                  return <TabPane
@@ -183,7 +188,7 @@
                     }
                  >
                     {
                        item.isNeedStep && <div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}>
                        item.isNeedStep && <div style={{ backgroundColor: '#fff', margin: '0px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}>
                           <Steps type='navigation' current={current}>
                              <Step title='来访登记' disabled />
                              <Step title='事件流转' disabled />
@@ -194,32 +199,21 @@
                           </Steps>
                        </div>
                     }
                     {tabsActive === 'sxxq' &&
                        <MatterDetail hasApplet={true} hasEditBtn={true} authorData={authorData} caseId={caseId} />
                     }
                     {
                        tabsActive === 'sxbl' && <Typography.Paragraph style={style}>
                           <Handle authorData={authorData} caseId={caseId} caseTaskId={caseTaskId} />
                        </Typography.Paragraph>
                     }
                     {
                        tabsActive === 'sqjl' && <Typography.Paragraph style={style}>
                           <AuditView authorData={authorData} />
                        </Typography.Paragraph>
                     }
                     {getTypeDom(item.key)}
                  </TabPane>
               })}
            </Tabs>
         </NewPage>
         <div className="gradient-box" onClick={() => handleAi()}>
            <div><img src={aiPerson} alt='' style={{ width: '24px', height: '24px', marginRight: '6px' }} /></div>
            <div style={{ color: '#FFFFFF' }}>智能调解助理</div>
            <div><img src={Aimge} alt='' style={{ width: '111px', height: '120px' }} /></div>
            <div style={{ color: '#FFFFFF' }}>穗调解数智人</div>
         </div>
         <AiQuestion
            visible={AiQuestionView}
            onClose={() => setAiQuestionView(false)}
            aiData={aiData}
            aiLawData={aiLawData}
            caseDetailAi={caseDetailAi}
         />
      </div>
   )