forked from gzzfw/frontEnd/gzDyh

dminyi
2024-09-12 73370c3b2f2e8340d9c46124af56576d5de2bb59
修改页面
10 files modified
150 ■■■■■ changed files
gz-customerSystem/src/api/appUrl.js 6 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/components/WantUserTag/Handling.jsx 4 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/components/WantUserTag/index.less 6 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/caseDetail/index.less 2 ●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx 62 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/handleFeedback/index.jsx 2 ●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/index.less 1 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/matterDetail/HandleRecord.jsx 37 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/matterDetail/index.jsx 8 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/levelDetail.jsx 22 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/api/appUrl.js
@@ -2,7 +2,7 @@
 * @Company: hugeInfo
 * @Author: ldh
 * @Date: 2022-02-16 11:25:57
 * @LastEditTime: 2024-09-11 13:37:26
 * @LastEditTime: 2024-09-12 20:34:31
 * @LastEditors: dminyi 1301963064@qq.com
 * @Version: 1.0.0
 * @Description: api地址
@@ -10,11 +10,11 @@
export const debug = {
  // web服务
  // baseUrl: 'http://gz.hugeinfo.com.cn',
  baseUrl: "http://eg9gsd.natappfree.cc",
  baseUrl: "http://192.168.3.108:9002",
  // baseUrl: 'http://mdqgnh.natappfree.cc',
  // 附件服务
  fileUrl: "http://eg9gsd.natappfree.cc",
  fileUrl: "http://192.168.3.108:9002",
  // fileUrl: 'http://gz.hugeinfo.com.cn',
  // 文件查看url 后面接附件编号
gz-customerSystem/src/components/WantUserTag/Handling.jsx
@@ -2,7 +2,7 @@
 * @Author: dminyi 1301963064@qq.com
 * @Date: 2024-08-29 20:43:25
 * @LastEditors: dminyi 1301963064@qq.com
 * @LastEditTime: 2024-09-05 09:34:19
 * @LastEditTime: 2024-09-12 18:15:43
 * @FilePath: \gzDyh\gz-customerSystem\src\components\WantUserTag\Handling.jsx
 * @Description: 经办人
 */
@@ -19,7 +19,7 @@
        <div className="wantUserTag-wantHandleUser-left"><img src={person} alt=''/></div>
        <div className="wantUserTag-wantHandleUser-right">{name}</div>
        <div onClick={() => onClose(value)} className="wantUserTag-wantHandleUser-icon">
          <CloseOutlined />
          <CloseOutlined style={{ fontSize: '12px'}} />
        </div>
      </div>
    </div>
gz-customerSystem/src/components/WantUserTag/index.less
@@ -41,8 +41,14 @@
            margin-left: 8px;
        }
        &-left{
            margin-top: -5px;
        }
        &-icon{
            color: #1D2129;
            margin-top: -2px;
            margin-left: 8px;
        }
    }
gz-customerSystem/src/views/caseDetail/index.less
@@ -398,7 +398,7 @@
.MediationInfo {
    &-subTitle {
        width: 4px;
        height: 14px;
        height: 16px;
        background-color: @main-color;
    }
}
gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx
@@ -16,6 +16,8 @@
import SupervisingView from '../../matterDetail/Supervising'
import UniteHandle from '../../matterDetail/UniteHandle';
import { useNavigate } from 'react-router-dom';
import MyUpload from '@/components/MyUpload';
const Option = Select.Option;
@@ -64,11 +66,14 @@
  return $$.ax.request({ url: `caseTask/listCaseFlow?caseId=` + caseId, type: 'get', service: 'mediate' });
}
//删除经办人
function deletePrincipalApi(caseId) {
  return $$.ax.request({ url: `caseInfoUnfold/deletePrincipal?caseId=` + caseId, type: 'get', service: 'mediate' });
}
const Handle = ({ authorData, caseTaskId, caseId }) => {
  const formRef = useRef();
  const navigate = useNavigate();
  const [selectedTab, setSelectedTab] = useState('1'); // 默认选中第一个 tab
  const [selectedTab1, setSelectedTab1] = useState('1'); // 默认选中第一个 tab
  const [wantUser, setWantUser] = useState({});
  const [formView, setFormView] = useState(false);
@@ -116,6 +121,11 @@
    // 处理确认逻辑
    setScannerVisible(false);
  };
  const handleWantUserClose = () => {
    setWantUser({ wantUserId: null, wantUserName: null })
    deletePrincipalApi(caseId)
  }
  const handleCancel = () => {
    // 处理取消逻辑
@@ -183,8 +193,9 @@
  const getFeedbackInfo = async () => {
    const res = await getFeedbackInfoApi(caseId)
    if (res.type) {
      setFeedbackInfoData(() => res.data)
      // getByIdRole();
      let data = res.data;
      setFeedbackInfoData(data);
      setWantUser({ wantUserName: data?.handleUserName })
    }
  }
@@ -224,14 +235,14 @@
  const handleSubmit = async () => {
      if (formRef.current) {
          formRef.current.validate(undefined, (errors, values) => {
              if (!errors) {
                  const params = formRef.current.getFields()
    if (formRef.current) {
      formRef.current.validate(undefined, (errors, values) => {
        if (!errors) {
          const params = formRef.current.getFields()
              }
          });
      }
        }
      });
    }
  }
@@ -244,14 +255,14 @@
  //保存信息
  const handleFinish = () => {
    if (formRef.current) {
          formRef.current.validate(undefined, (errors, values) => {
              if (!errors) {
      formRef.current.validate(undefined, (errors, values) => {
        if (!errors) {
          let submitData = formRef.current.getFields()
          saveFeedback(submitData)
          setFormView(!formView);
              }
          });
      }
        }
      });
    }
  }
  //点击编辑办理事由
@@ -324,7 +335,7 @@
        <div className='container-top'>
          <Col span={24}>
            <Space size='small'>
              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>办理信息</h5>
              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>办理信息</h4>
            </Space>
          </Col>
          <Row gutter={[16, 16]}>
@@ -334,13 +345,12 @@
            </Col>
            <Col span={8} style={{ display: 'flex' }}>
              <div><div className="title-text">经办人:</div></div>
              <div style={{ display: 'flex' }}>
              <div style={{ marginTop: '-4px' }}>
                {
                  feedbackInfoData?.handleUserName ?
                  wantUser.wantUserName ?
                    <>
                      <div>{feedbackInfoData?.handleUserName}</div>
                      <img onClick={() => handlePersonView()} src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} />
                    </> :
                      <WantUserTag name={wantUser.wantUserName} onClose={() => handleWantUserClose()} /> </>
                    :
                    <Button onClick={() => { setIsModalVisible(true); }} style={{ color: '#1A6FB8', marginTop: '-2px' }} type='outline'>选择</Button>
                }
              </div>
@@ -361,7 +371,7 @@
          <div className='container-bottom-left'>
            <Col span={24} style={{}}>
              <Space size='small'>
                <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>办理反馈</h5>
                <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>办理反馈</h4>
              </Space>
            </Col>
            <Form
@@ -372,10 +382,10 @@
              <Col span={24}>
                <HandleRecord isReview={false} handleEdit={handleEdit} data={list} />
                {/* {formView && */}
                <div className='Form' style={{ display: formView ? '' : 'none' }}>
                <div className='Form' style={{ display: formView ? '' : 'none', marginBottom: '50px' }}>
                  <Col span={24} style={{ marginBottom: '8px' }}>
                    <Space size='small'>
                      <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>添加办理记录</h5>
                      <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>添加办理记录</h4>
                    </Space>
                  </Col>
                  <Col span={24}>
@@ -400,7 +410,7 @@
                            <Input.TextArea
                              maxLength={200}
                              showWordLimit
                              rows={5}
                              rows={7}
                              placeholder='办理意见应该填写完整,办理意见应具备5要素:调解时间+调解参与部门/人+调解地点+调解过程+调解结果'
                              wrapperStyle={{ width: '100%' }}
                            />
@@ -462,7 +472,7 @@
                }
              >
                <Typography.Paragraph>
                  <div className='progress' style={{ paddingBottom: '16px' }}>
                  <div className='progress' style={{ paddingBottom: '16px', marginTop: '0px' }} >
                    <ProgressStep progressData={progressData} hasTab={true} />
                  </div>
gz-customerSystem/src/views/register/handleFeedback/index.jsx
@@ -185,7 +185,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 />
gz-customerSystem/src/views/register/index.less
@@ -751,6 +751,7 @@
            margin-bottom: 8px;
            margin-right: 16px;
            align-items: center;
            font-size: 14px;
            &-type {
gz-customerSystem/src/views/register/matterDetail/HandleRecord.jsx
@@ -2,16 +2,23 @@
 * @Author: dminyi 1301963064@qq.com
 * @Date: 2024-09-06 09:40:00
 * @LastEditors: dminyi 1301963064@qq.com
 * @LastEditTime: 2024-09-12 15:09:10
 * @LastEditTime: 2024-09-12 20:48:45
 * @FilePath: \gzDyh\gz-customerSystem\src\views\register\matterDetail\HandleRecord.jsx
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import React, { useState, useEffect } from 'react';
import { Empty } from '@arco-design/web-react';
import { fold, down, empty, edit } from '@/assets/images';
import { Image } from 'antd';
// import {link} from '@/assets/image';
import * as $$ from '@/utils/utility';
export default function HandleRecord(props) {
  const appUrl = $$.appUrl;
  const [list, setList] = useState([]);
  const [imgVisible, setImgVisible] = useState({ visible: false, src: '' });
  useEffect(() => {
    setList(props.data)
@@ -32,6 +39,18 @@
  const handleEdit = (id) => {
    props.handleEdit(id)
  }
  function handleOpenFiles(record) {
    if (record.cat === '22_00017-3') {
      setImgVisible({ visible: true, src: `${appUrl.fileUrl}/${appUrl.sys}${record.showUrl}` });
    } else if (record.cat === '22_00017-6' || record.cat === '22_00017-1' || record.cat === '22_00017-2') {
      window.open(`${appUrl.fileUrl}${appUrl.fileShowUrl}${record.id}`);
    } else {
      $$.info({ type: 'warning', content: '抱歉,暂不支持在线查看,已下载请查看' });
      window.open(`${appUrl.fileUrl}${appUrl.fileDownUrl}${record.id}`);
    }
  }
  return (
    <div>
@@ -63,7 +82,20 @@
                  </tr>
                  <tr>
                    <th bgcolor="#F7F8FA" className="table-title" width="120">办理附件</th>
                    <td>{record?.fileInfoList?.[0]?.trueName || '-'}</td>
                    <div style={{ display: 'none' }}>
                      <Image
                        src={imgVisible.src}
                        preview={{
                          visible: imgVisible.visible,
                          src: imgVisible.src,
                          onVisibleChange: (value) => setImgVisible({ visible: false }),
                        }}
                      />
                    </div>
                    <td style={{color:'#1A6FB8'}} onClick={() => handleOpenFiles(record?.fileInfoList?.[0])}>
                      {/* <img src={link} alt=''/> */}
                      {record?.fileInfoList?.[0]?.name || '-'}
                      </td>
                  </tr>
                </table>
              </div>
@@ -86,6 +118,7 @@
          description='暂无数据'
        />
      }
    </div>
  )
}
gz-customerSystem/src/views/register/matterDetail/index.jsx
@@ -69,7 +69,7 @@
          <Col span={24} style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>
            <Space size='small'>
              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>当事人信息</h5>
              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>当事人信息</h4>
            </Space>
            {props.hasApplet && <div>
              <Switch checkedChildren="当事人小程序可见" unCheckedChildren="当事人小程序不可见" defaultChecked />
@@ -84,7 +84,7 @@
          </div>
          <Col span={24} className='title'>
            <Space size='small'>
              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>纠纷基本情况</h5>
              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>纠纷基本情况</h4>
            </Space>
          </Col>
          <Row gutter={[16, 16]}>
@@ -156,7 +156,7 @@
          </Row>
          <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px', marginTop: '20px' }}>
            <Space size='small'>
              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>事件材料</h5>
              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>事件材料</h4>
            </Space>
          </Col>
          <FileTable mainId={props.caseId} fileInfoList={infoData.fileInfoList} isReview={true} />
@@ -164,7 +164,7 @@
            <>
              <Col span={24} style={{ marginTop: '12px' }}>
                <Space size='small'>
                  <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>登记信息</h5>
                  <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>登记信息</h4>
                </Space>
              </Col>
              <Row gutter={[16, 16]}>
gz-customerSystem/src/views/register/visit/component/levelDetail.jsx
@@ -2,7 +2,7 @@
 * @Author: dminyi 1301963064@qq.com
 * @Date: 2024-08-27 16:47:12
 * @LastEditors: dminyi 1301963064@qq.com
 * @LastEditTime: 2024-09-11 13:35:29
 * @LastEditTime: 2024-09-12 17:19:32
 * @FilePath: \gzDyh\gz-customerSystem\src\views\register\visit\component\levelDetail.jsx
 * @Description: 右抽屉提示
 */
@@ -147,18 +147,16 @@
    ])
    const [caseDetail, setCaseDetail] = useState(false)
    const toggleView = (type, id, caseType) => {
    const toggleView = (type, id, caseType, name) => {
        setCaseDetail(true)
        setModalType(type)
        if (type === 'case') {
            getCaseDetail(id, caseType);
            getCaseDetail(id, caseType, name);
        }
        if (type === 'law') {
            console.log(id, 'idddddd')
            const lawItem = aiLawData.find(item => item.lawInfoId === id)
            console.log(lawItem, 'lawItem')
            setLawDetail(lawItem)
        }
    };
@@ -168,13 +166,13 @@
        setCaseDetail(false)
    }
    const getCaseDetail = async (id, type) => {
    const getCaseDetail = async (id, type,name) => {
        const res = await getCaseDetailApi({
            caseId: id,
            type: type
        })
        if (res.type) {
            setCaseDetailView(res.data)
            setCaseDetailView({ ...res.data, caseTitle: name })
        }
    }
@@ -191,7 +189,7 @@
                onClose={onClose}
                title="穗调解数智人"
                width={1200}
                style={{ position: 'absolute' }}
                // style={{ position: 'absolute' }}
                bodyStyle={{ marginTop: '-8px' }}
                titleBefore={true}
            >
@@ -213,7 +211,7 @@
                                    <div className='aiBox-list-item'>
                                        <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, item.caseType)} >查看</div>
                                        <div className='aiBox-list-item-btn' onClick={() => toggleView('case', item.caseId, item.caseType, item.caseName)} >查看</div>
                                    </div>
                                ))}
                            </div>
@@ -239,8 +237,8 @@
                    visible={caseDetail}
                    onClose={caseDetailOnClose}
                    title={modalType === 'case' ? "查看相关案例" : "查看相关法条"}
                    width={400}
                    style={{ position: 'absolute' }}
                    width={700}
                    // style={{ position: 'absolute' }}
                    bodyStyle={{ marginTop: '-8px' }}
                    titleBefore={true}
                >