From ae3833a1fc16bd3c9fd13f8301397e5835a9e49c Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Sun, 15 Sep 2024 15:31:02 +0800
Subject: [PATCH] fix: 自行排查更改、流程组件完善

---
 gz-customerSystem/src/components/ProgressStep/VisitStep.jsx                  |   39 +++
 gz-customerSystem/src/views/register/visit/component/SelfVisitorRegister.jsx |  451 +++++++++++++++++++++++++++++++++++++++++++++
 gz-customerSystem/src/views/register/index.less                              |   13 
 gz-customerSystem/src/views/register/visit/preview.jsx                       |   31 +-
 gz-customerSystem/src/views/register/visit/SelfInspection.jsx                |    6 
 gz-customerSystem/src/views/register/visit/index.jsx                         |    2 
 gz-customerSystem/src/components/ProgressStep/index.less                     |   11 
 gz-customerSystem/src/views/register/visit/SelfPreview.jsx                   |    9 
 8 files changed, 524 insertions(+), 38 deletions(-)

diff --git a/gz-customerSystem/src/components/ProgressStep/VisitStep.jsx b/gz-customerSystem/src/components/ProgressStep/VisitStep.jsx
index 0dfa948..e81b8b9 100644
--- a/gz-customerSystem/src/components/ProgressStep/VisitStep.jsx
+++ b/gz-customerSystem/src/components/ProgressStep/VisitStep.jsx
@@ -42,6 +42,27 @@
     setProType('handleCaseFlowList')
   }, [progressData])
 
+  //详细结果的处理
+  const typeDom = (data) => {
+    //审核结果同意
+    if (data.auditResult && data.auditResult == '24_00004-1') {
+      return <span>审核结果:<span style={{ color: '#00B42A' }}>{data.auditResultName}</span></span>
+    }
+    //审核结果不同意
+    if (data.auditResult && data.auditResult == '24_00004-2') {
+      return <span>审核结果:<span style={{ color: '#FF4D4F' }}>{data.auditResultName}</span></span>
+    }
+    //化解结果成功
+    if (data.mediResult && data.mediResult == '22_00025-1') {
+      return <span>审核结果:<span style={{ color: '#00B42A' }}>{data.mediResultName}</span></span>
+    }
+    //化解结果不成功
+    if (data.mediResult && data.mediResult == '22_00025-2') {
+      return <span>审核结果:<span style={{ color: '#FF4D4F' }}>{data.mediResultName}</span></span>
+    }
+    return <span>{data.handleNotes || '-'}</span>
+  }
+
   return (
     <Fragment>
       {hasTab &&
@@ -62,16 +83,18 @@
           return (
             <div key={t + 1}>
               <div className="myStep-item">
-                {t === progressData[proType].length - 1 ? null : <div className={`${!x.handleContent ? 'myStep-item-divider' : x.fileInfoList?.length > 0 ? 'myStep-item-divider2' : "myStep-item-divider1"} ${x.status === '2' && 'myStep-item-divider-success'}`} />}
-                <div className={`myStep-item-icon1 myStep-item-${x.status === 1 ? 'noStarted1' : 'success1'}`}>
-                  <div className="myStep-item-title">{x.nodeShowName || '事件流转'}</div>
-                  <img className='myStep-item-img' src={x.status === 1 ? ledger_8 : iconMap[x.taskType]} alt="" />
+                <div>
+                  <div className={`myStep-item-icon1 myStep-item-${x.status === 1 ? 'noStarted1' : 'success1'}`}>
+                    <div className="myStep-item-title">{x.nodeShowName || '事件流转'}</div>
+                    <img className='myStep-item-img' src={x.status === 1 ? ledger_8 : iconMap[x.taskType]} alt="" />
+                  </div>
+                  {t === progressData[proType].length - 1 ? null : <div className='myStep-item-divider' />}
                 </div>
                 <div className="myStep-item-right">
                   {t === progressData[proType].length - 1 ?
                     <div>
                       <div className="myStep-item-p" style={{ color: 'rgba(0,0,0,0.50)' }}>
-                        {x.processName}
+                        {x.processName || '-'}
                       </div>
                       <div className="myStep-item-p">
                         <span>{x.handleUnitName || '-'}</span>
@@ -96,7 +119,11 @@
                         x.handleNotes &&
                         <div className='myStep-item-p-yy' style={{ width: '200px' }}>
                           <span className='myStep-item-p-yy-l'>
-                            <span><Tooltip placement="top" title={x.handleNotes || ''}><span>{x.handleNotes || '-'}</span></Tooltip></span>
+                            <span>
+                              <Tooltip placement="top" title={x.handleNotes || ''}>
+                                {typeDom(x)}
+                              </Tooltip>
+                            </span>
                           </span>
                         </div>
                       }
diff --git a/gz-customerSystem/src/components/ProgressStep/index.less b/gz-customerSystem/src/components/ProgressStep/index.less
index e574fab..d298d6a 100644
--- a/gz-customerSystem/src/components/ProgressStep/index.less
+++ b/gz-customerSystem/src/components/ProgressStep/index.less
@@ -3,7 +3,7 @@
 .myStep {
 	&-item {
 		position: relative;
-		padding-bottom: 32px;
+		padding-bottom: 34px;
 
 		&-success {
 			background-color: @main-color;
@@ -74,16 +74,15 @@
 
 		&-divider {
 			position: absolute;
-			top: 0;
+			top: 56px;//52+4
 			left: 24px;
-			width: 3px;
-			height: 32px+52px;
-			padding-top: 22px;
+			width: 2px;
+			bottom: 4px;
 
 			&::after {
 				content: '';
 				display: inline-block;
-				height: 32px+52px;
+				height: 100%;
 				border-left: 2px solid;
 				border-color: @divider-color;
 			}
diff --git a/gz-customerSystem/src/views/register/index.less b/gz-customerSystem/src/views/register/index.less
index 4b3a281..d016546 100644
--- a/gz-customerSystem/src/views/register/index.less
+++ b/gz-customerSystem/src/views/register/index.less
@@ -523,12 +523,13 @@
 	}
 
 	.reviewLine {
-		height: calc(100% - 19px);
-		width: 14px;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		position: relative;
+		height: calc(100% - 23px);
+    width: 14px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    position: relative;
+    margin-top: 4px;
 
 		&::before {
 			content: '';
diff --git a/gz-customerSystem/src/views/register/visit/SelfInspection.jsx b/gz-customerSystem/src/views/register/visit/SelfInspection.jsx
index 2bbe0fe..5d3bf4e 100644
--- a/gz-customerSystem/src/views/register/visit/SelfInspection.jsx
+++ b/gz-customerSystem/src/views/register/visit/SelfInspection.jsx
@@ -6,7 +6,7 @@
 import '../index.less';
 import { Space } from 'antd';
 import { Button, Steps, Message } from '@arco-design/web-react';
-import VisitorRegister from './component/visitorRegister';
+import VisitorRegister from './component/SelfVisitorRegister';
 import Preview from './preview';
 
 const Step = Steps.Step;
@@ -222,13 +222,13 @@
 		<div style={{ position: 'relative' }}>
 			<NewPage
 				pageHead={
-					{ breadcrumbData: [{ title: '工作台' }, { title: '来访登记' }], title: '来访登记' }
+					{ breadcrumbData: [{ title: '工作台' }, { title: '来访登记' }], title: '自行排查' }
 				}
 			>
 				<Fragment>
 					<div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}>
 						<Steps type='navigation' current={current}>
-							<Step title='来访登记' disabled />
+							<Step title='排查登记' disabled />
 							<Step title='事件流转' disabled />
 							<Step title='办理反馈' disabled />
 							<Step title='结案审核' disabled />
diff --git a/gz-customerSystem/src/views/register/visit/SelfPreview.jsx b/gz-customerSystem/src/views/register/visit/SelfPreview.jsx
index 1b42818..ec84936 100644
--- a/gz-customerSystem/src/views/register/visit/SelfPreview.jsx
+++ b/gz-customerSystem/src/views/register/visit/SelfPreview.jsx
@@ -7,7 +7,12 @@
 import PreviewImage from '@/components/PreviewImage';
 
 const Preview = (props) => {
-  const [data, setData] = useState({})
+  const [data, setData] = useState({});
+  const levelColorMap = {
+    1: '#F53F3F',
+    2: '#EF6C24',
+    3: '#00B42A',
+  }
 
   useEffect(() => {
     console.log(props.data);
@@ -108,7 +113,7 @@
           <div className="title">
             <div className="title-text">事项等级</div>
           </div>
-          <div style={{ display: 'flex' }}><div style={{ backgroundColor: '#00B42A', marginRight: '4px', borderRadius: '4px' }}><div style={{ color: '#FFFFFF', padding: '0px 6px' }}>{props.data?.caseLevel || '-'}</div></div>级</div>
+          <div style={{ display: 'flex' }}><div style={{ backgroundColor: levelColorMap[props.data?.caseLevel], marginRight: '4px', borderRadius: '4px' }}><div style={{ color: '#FFFFFF', padding: '0px 6px' }}>{props.data?.caseLevel || '-'}</div></div>级</div>
         </Col>
         <Col span={8}>
           <div><div className="title-text">来访时间</div></div>
diff --git a/gz-customerSystem/src/views/register/visit/component/SelfVisitorRegister.jsx b/gz-customerSystem/src/views/register/visit/component/SelfVisitorRegister.jsx
new file mode 100644
index 0000000..4bc0b21
--- /dev/null
+++ b/gz-customerSystem/src/views/register/visit/component/SelfVisitorRegister.jsx
@@ -0,0 +1,451 @@
+import React, { useState, useEffect, useRef } from "react";
+import { Row, Col, Space, Tooltip, Button } from 'antd';
+import { Form, Input, Radio, Select, DatePicker, Cascader, Modal, Upload, InputNumber } from '@arco-design/web-react';
+import PersonCard from '@/components/personCard';
+import * as $$ from '@/utils/utility';
+import {
+  question1,
+} from '@/assets/images';
+import '../../index.less';
+import ApplyDialog from "./applyDialog";
+import AgentDialog from "./agentDialog";
+import MapView from './map';
+import { scan } from '@/assets/images/icon';
+import { EventLevelDrawer, MattersDetail } from './levelDetail';
+import DocumentScanner from '../../matterDetail/FileUpLoad';
+import FileTable from "../../matterDetail/FileTable";
+
+
+const RadioGroup = Radio.Group;// 根据调解案号获取纠纷登记信息
+const FormItem = Form.Item;
+const InputSearch = Input.Search;
+
+
+const VisitorRegister = (props) => {
+  const [dialogType, setDialogType] = useState();//添加当事人的类型
+  const [addVisabled, setAddVisabled] = useState(false);//添加当事人弹窗控制
+  const [fakeData, setFakeData] = useState([]);//当事人信息数据
+  const [scanFile, setScanFile] = useState(false);
+  const [ocrText, setOcrText] = useState('');
+
+  const [mapView, setMapView] = useState(false);
+  const [visible, setVisible] = useState(false);
+  const [apply, setApply] = useState(false);
+  const [editData, setEditData] = useState(null);
+  const [agentVisible, setAgentVisible] = useState(false);
+
+  const peopleMap = {
+    '15_020008-1': '申请方',
+    '15_020008-2': '被申请方',
+    '24_00006-1': '申请方代理人',
+    '24_00006-2': '被申请方代理人'
+  }
+
+  useEffect(() => {
+    if (props.formRef.current) {
+      //引入当事人数据
+      props.formRef.current.setFieldValue('fakeData', fakeData)
+    }
+  }, [fakeData])
+
+  useEffect(() => {
+    setFakeData(props.partyList || [])
+  }, [props.partyList])
+
+  //获取当前时间
+  const getFormattedDateTime = () => {
+    let now = new Date();
+    let year = now.getFullYear();
+    let month = (now.getMonth() + 1).toString().padStart(2, '0'); // 月份是从0开始的,所以要+1  
+    let day = now.getDate().toString().padStart(2, '0');
+    let hours = now.getHours().toString().padStart(2, '0');
+    let minutes = now.getMinutes().toString().padStart(2, '0');
+
+    return `${year}-${month}-${day} ${hours}:${minutes}`;
+  }
+
+  //添加当事人
+  const handleAdd = (type) => {
+    if (type === '24_00006-1' || type === '24_00006-2') {
+      setAgentVisible(true)
+    } else {
+      setAddVisabled(true)
+    }
+    setDialogType(type)
+  }
+
+  const handleConfirm = (scanContent) => {
+    // 处理确认逻辑
+    props.formRef.current.setFieldValue(ocrText, scanContent)
+    setScanFile(false);
+    console.log(scanContent, 'scanContent')
+
+  };
+
+  const handleCancel = () => {
+    // 处理取消逻辑
+    setScanFile(false);
+  };
+
+  //添加当事人
+  const handleAddParty = (value, isEdit) => {
+    console.log(value);
+    if (isEdit) {
+      //编辑
+      const newList = fakeData.map(item => {
+        if (item.id === value.id) {
+          return value
+        } else {
+          return item
+        }
+      })
+      setFakeData(newList)
+      setEditData(null)
+    } else {
+      setFakeData([...fakeData, {
+        ...value
+      }])
+    }
+  }
+
+  //删除当事人
+  const handleDeleteParty = (event, value) => {
+    event.stopPropagation();
+    const filterData = fakeData.filter(item => item.id !== value.id)
+    setFakeData(filterData)
+  }
+
+  //编辑
+  const handleEdit = (value) => {
+    if (value.perType === '15_020008-1' || value.perType === '15_020008-2') {
+      //当事人
+      setAddVisabled(true)
+    } else {
+      //代理人
+      setAgentVisible(true)
+    }
+    setDialogType(value.perType)
+    setEditData(value)
+  }
+
+  return (
+    <div className='dataSync-page' style={{ ...props.style, marginTop: '8px' }}>
+      <Col span={24} style={{ display: 'flex', alignItems: 'center' }}>
+        <Space size='small'>
+          <div className='MediationInfo-subTitle' style={{ marginTop: '-9px', }}></div><h4>当事人信息</h4>
+        </Space>
+      </Col>
+      <div style={{ margin: '16px 0' }}>
+        <PersonCard
+          isCheck={true}
+          data={fakeData}
+          handleAdd={handleAdd}
+          handleDeleteParty={handleDeleteParty}
+          handleEdit={handleEdit}
+        />
+      </div>
+      <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px' }}>
+        <Space size='small'>
+          <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>纠纷基本情况</h4>
+        </Space>
+      </Col>
+      <Form
+        ref={props.formRef}
+        layout='vertical'
+        requiredSymbol={false}
+        scrollToFirstError={true}
+        initialValues={{
+          caseLevel: 3,
+          occurTime: getFormattedDateTime(),
+          majorStatus: 0,
+        }}//默认值
+      >
+        <Row gutter={[32, 0]}>
+          <Col span={8}>
+            <FormItem
+              label={<div style={{ display: 'flex' }}>
+                事项等级
+                <Tooltip onClick={() => setApply(true)}>
+                  <img src={question1} alt="" style={{ width: '13px', height: '13px', margin: '4px 4px 0px 4px' }} />
+                </Tooltip>
+              </div>
+              }
+              field='caseLevel'
+            >
+              <Select placeholder='请选择事项等级' allowClear options={$$.options.caseLevelList}>
+              </Select>
+            </FormItem>
+          </Col>
+          <Col span={8}>
+            <FormItem label='涉及人数(人)' field='peopleNum'>
+              <InputNumber placeholder='请填写' />
+            </FormItem>
+          </Col>
+          <Col span={8}>
+            <FormItem label='涉及金额(元)' field='amount'>
+              <InputNumber placeholder='请填写' />
+            </FormItem>
+          </Col>
+          <Col span={8}>
+            <FormItem
+              label={(<div style={{ display: 'flex' }}>纠纷类型<div className="must">必填</div></div>)}
+              rules={[{ message: '请选择纠纷类型', required: true }]}
+              field='myCaseType'
+            >
+              <Cascader
+                placeholder='请选择'
+                options={$$.caseTypeSelect.caseTypeSelect}
+                onChange={(value, option) => {
+                  if (option) {
+                    props.formRef.current.setFieldsValue({
+                      caseTypeFirst: option[0].value,
+                      caseTypeFirstName: option[0].label,
+                      caseType: option[1].value,
+                      caseTypeName: option[1].label,
+                    })
+                  } else {
+                    //清除数据
+                    props.formRef.current.setFieldsValue({
+                      caseTypeFirst: undefined,
+                      caseTypeFirstName: undefined,
+                      caseType: undefined,
+                      caseTypeName: undefined,
+                    })
+                  }
+                }}
+                allowClear
+              />
+            </FormItem>
+          </Col>
+          <Col span={8}>
+            <FormItem
+              label={(<div style={{ display: 'flex' }}>纠纷发生时间<div className="must">必填</div></div>)}
+              rules={[{ message: '请选择纠纷发生时间', required: true }]}
+              field='occurTime'
+            >
+              <DatePicker
+                style={{ width: '100%' }}
+                placeholder='请选择'
+                format='YYYY-MM-DD HH:mm'
+                showTime={true}
+              />
+            </FormItem>
+          </Col>
+          <Col span={8}>
+            <FormItem
+              label={(<div style={{ display: 'flex' }}>纠纷发生地点<div className="must">必填</div></div>)}
+              rules={[{ message: '请选择纠纷发生地点', required: true }]}
+              field='addr'
+            >
+              <InputSearch
+                placeholder='选择纠纷发生地的详细地址'
+                searchButton='选择'
+                readOnly={true} // 设置为只读,防止直接编辑
+                onSearch={() => setMapView(true)}
+              />
+            </FormItem>
+          </Col>
+          <Col span={8}>
+            <FormItem
+              label={(<div style={{ display: 'flex' }}>问题属地<div className="must">必填</div></div>)}
+              field='myQuesAddress'
+              rules={[{ message: '请选择问题属地', required: true }]}
+            >
+              <Cascader
+                placeholder='请选择'
+                options={$$.locationOption()}
+                showSearch
+                onChange={(value, option) => {
+                  if (option) {
+                    console.log(option)
+                    props.formRef.current.setFieldsValue({
+                      // queProv: option[0].value,
+                      // queProvName: option[0].label,
+                      // queCity: option[1].value,
+                      // queCityName: option[1].label,
+                      queArea: option[0].value,
+                      queAreaName: option[0].label,
+                      queRoad: option[1] && option[1].value || '',
+                      queRoadName: option[1] && option[1].label || '',
+                    })
+                  } else {
+                    //清除数据
+                    props.formRef.current.setFieldsValue({
+                      queProv: undefined,
+                      queProvName: undefined,
+                      queCity: undefined,
+                      queCityName: undefined,
+                      queArea: undefined,
+                      queAreaName: undefined,
+                      queRoad: undefined,
+                      queRoadName: undefined,
+                    })
+                  }
+                }}
+                allowClear
+              />
+            </FormItem>
+          </Col>
+          <Col span={24}>
+            <FormItem
+              label={<div style={{ display: 'flex' }}>
+                事项概况
+                <Tooltip onClick={() => setVisible(true)}>
+                  <img src={question1} alt="" style={{ width: '13px', height: '13px', margin: '4px 4px 0px 4px' }} />
+                </Tooltip>
+                <div className="must" style={{ marginLeft: '4px' }}>必填</div>
+                <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} />
+                <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={() => { setScanFile(true); setOcrText('caseDes') }}>识别材料</div>
+              </div>
+              }
+              field='caseDes'
+              rules={[{ message: '请填写事项概况', required: true }]}
+            >
+              <Input.TextArea
+                maxLength={2000}
+                showWordLimit
+                rows={5}
+                placeholder='请完整描述事项概况,应具备5要素:发生时间+发生地点+人物情况+事项起因+事项经过'
+                wrapperStyle={{ width: '100%' }}
+              />
+            </FormItem>
+          </Col>
+          <Col span={24}>
+            <FormItem
+              label={<div style={{ display: 'flex' }}>
+                申请请求
+                {/* <Tooltip onClick={() => setApply(true)}>
+                  <img src={question1} alt="" style={{ width: '13px', height: '13px', margin:'4px 4px 0px 4px' }} />
+                </Tooltip> */}
+                <div className="must">必填</div>
+                <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} />
+                <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={() => { setScanFile(true); setOcrText('caseClaim') }}>识别材料</div>
+              </div>
+              }
+              field='caseClaim'
+              rules={[{ message: '请填写申请请求', required: true }]}
+
+            >
+              <Input.TextArea
+                maxLength={2000}
+                showWordLimit
+                rows={5}
+                placeholder='希望相关部门如何处理,建议分条描述,如请求1,请求2...'
+                wrapperStyle={{ width: '100%' }}
+              />
+            </FormItem>
+          </Col>
+          <div style={{ marginLeft: '16px', padding: '12px 16px', backgroundColor: '#F2F3F5', borderRadius: '2px', marginTop: '4px', display: 'flex', alignItems: 'center' }}>
+            <FormItem
+              label='是否重大矛盾纠纷'
+              style={{ width: '300px', marginBottom: 0 }}
+              field='majorStatus'
+              layout='horizontal'
+              labelCol={{ span: 11 }}
+              wrapperCol={{ span: 13 }}
+            >
+              <RadioGroup options={[{ value: 0, label: '否' }, { value: 1, label: '是' }]} />
+            </FormItem>
+          </div>
+        </Row>
+
+      </Form >
+      <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px', marginTop: '20px' }}>
+        <Space size='small'>
+          <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>事件材料</h4>
+        </Space>
+      </Col>
+      <div style={{ marginBottom: '65px' }}>
+        <FileTable
+          mainId={props.mainId}
+          fileInfoList={props.fileInfoList}
+          isReview={false}
+          handleSaveList={(list) => {
+            props.formRef.current.setFieldValue('fileInfoList', list)
+          }}
+        />
+      </div>
+      <DocumentScanner
+        visible={scanFile}
+        onConfirm={handleConfirm}
+        onCancel={handleCancel}
+      />
+      <Modal
+        title={(editData ? '修改' : '添加') + peopleMap[dialogType]}
+        visible={addVisabled}
+        onOk={() => setAddVisabled(false)}
+        onCancel={() => {
+          setAddVisabled(false)
+          setEditData(null)
+        }}
+        autoFocus={false}
+        focusLock={true}
+        footer={null}
+        unmountOnExit={true}
+        maskClosable={false}
+      >
+        <ApplyDialog
+          dialogType={dialogType}
+          onClose={() => setAddVisabled(false)}
+          handleAddParty={handleAddParty}
+          editData={editData}
+          mainId={props.mainId}
+        />
+      </Modal>
+      <Modal
+        title={(editData ? '修改' : '添加') + peopleMap[dialogType]}
+        visible={agentVisible}
+        onOk={() => setAgentVisible(false)}
+        onCancel={() => {
+          setAgentVisible(false)
+          setEditData(null)
+        }}
+        autoFocus={false}
+        focusLock={true}
+        footer={null}
+        unmountOnExit={true}
+        maskClosable={false}
+      >
+        <AgentDialog
+          handleAddParty={handleAddParty}
+          onClose={() => setAgentVisible(false)}
+          fakeData={fakeData}
+          dialogType={dialogType}
+          editData={editData}
+          mainId={props.mainId}
+        />
+      </Modal>
+      <Modal
+        style={{ width: '1200px' }}
+        visible={mapView}
+        onCancel={() => setMapView(false)}
+        footer={null}
+        title='选择纠纷发生地'
+        centered
+        unmountOnExit={true}
+        maskClosable={false}
+      >
+        <MapView
+          selectAdd={(data) => {
+            props.formRef.current.setFieldsValue({
+              addr: data.addName,
+              lng: data.pt.lng,
+              lat: data.pt.lat,
+            })
+            setMapView(false)
+          }}
+        />
+      </Modal>
+      <MattersDetail
+        visible={visible}
+        onClose={() => setVisible(false)}
+      />
+      <EventLevelDrawer
+        visible={apply}
+        onClose={() => setApply(false)}
+      />
+    </div >
+  )
+}
+
+export default VisitorRegister;
\ No newline at end of file
diff --git a/gz-customerSystem/src/views/register/visit/index.jsx b/gz-customerSystem/src/views/register/visit/index.jsx
index 3f150f2..6783643 100644
--- a/gz-customerSystem/src/views/register/visit/index.jsx
+++ b/gz-customerSystem/src/views/register/visit/index.jsx
@@ -218,7 +218,7 @@
 		if (response.type) {
 			if(isSelfAccept) {
 				//自行受理
-				navigate(`mediate/visit/handleFeedback?caseTaskId=${response.data}&caseId=${id}`)
+				navigate(`/mediate/visit/handleFeedback?caseTaskId=${response.data}&caseId=${id}`)
 			} else {
 				Message.success('提交成功!')
 				navigate(`/mediate/visit/visitWorkBench`, { replace: true })
diff --git a/gz-customerSystem/src/views/register/visit/preview.jsx b/gz-customerSystem/src/views/register/visit/preview.jsx
index 1e608dc..ff662fa 100644
--- a/gz-customerSystem/src/views/register/visit/preview.jsx
+++ b/gz-customerSystem/src/views/register/visit/preview.jsx
@@ -15,7 +15,12 @@
 import PreviewImage from '@/components/PreviewImage';
 
 const Preview = (props) => {
-  const [data, setData] = useState({})
+  const [data, setData] = useState({});
+  const levelColorMap = {
+    1: '#F53F3F',
+    2: '#EF6C24',
+    3: '#00B42A',
+  }
 
   useEffect(() => {
     console.log(props.data);
@@ -116,15 +121,21 @@
           <div className="title">
             <div className="title-text">事项等级</div>
           </div>
-          <div style={{ display: 'flex' }}><div style={{ backgroundColor: '#00B42A', marginRight: '4px', borderRadius: '4px' }}><div style={{ color: '#FFFFFF', padding: '0px 6px' }}>{props.data?.caseLevel || '-'}</div></div>级</div>
+          <div style={{ display: 'flex' }}>
+            <div style={{ backgroundColor: levelColorMap[props.data?.caseLevel], marginRight: '4px', borderRadius: '4px' }}>
+              <div style={{ color: '#FFFFFF', padding: '0px 6px' }}>
+                {props.data?.caseLevel || '-'}
+              </div>
+            </div>级
+          </div>
         </Col>
         <Col span={8}>
-          <div><div className="title-text">来访时间</div></div>
-          <div>{props.data?.visitTime || '-'}</div>
+          <div><div className="title-text">事项来源</div></div>
+          <div>自行排查</div>
         </Col>
         <Col span={8}>
-          <div ><div className="title-text">来访人数(人)</div></div>
-          <div>{props.data?.visitPeopleNum || '-'}</div>
+          <div ><div className="title-text">来访形式</div></div>
+          <div>排查</div>
         </Col>
         <Col span={8}>
           <div ><div className="title-text">纠纷类型</div></div>
@@ -157,14 +168,6 @@
         <Col span={8}>
           <div ><div className="title-text">涉及金额(元)</div></div>
           <div>{$$.thousands(props.data?.amount) || '-'}</div>
-        </Col>
-        <Col span={8}>
-          <div ><div className="title-text">事项来源</div></div>
-          <div>{props.data?.canalName}</div>
-        </Col>
-        <Col span={16}>
-          <div ><div className="title-text">来访形式</div></div>
-          <div>来访</div>
         </Col>
         <Col span={24}>
           <div className="title"><div className="title-text">事项概况</div></div>

--
Gitblit v1.8.0