forked from gzzfw/frontEnd/gzDyh

dminyi
2024-09-04 6f5f11a93fc056b0fe77f91522245cc45a1fb4fa
Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master
1 files deleted
2 files added
11 files modified
40917 ■■■■■ changed files
gz-customerSystem/package-lock.json 27723 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/assets/images/examine.png patch | view | raw | blame | history
gz-customerSystem/src/assets/images/index.js 4 ●●● patch | view | raw | blame | history
gz-customerSystem/src/components/personCard/DetailDialog.jsx 2 ●●● patch | view | raw | blame | history
gz-customerSystem/src/utils/utility.js 42 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/eventFlow/component/BackModel.jsx 89 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx 41 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/eventFlow/component/Examine.jsx 21 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/eventFlow/index.jsx 23 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/index.less 12 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/agentDialog.jsx 5 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/applyDialog.jsx 5 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx 2 ●●● patch | view | raw | blame | history
gz-customerSystem/yarn.lock 12948 ●●●●● patch | view | raw | blame | history
gz-customerSystem/package-lock.json
Diff too large
gz-customerSystem/src/assets/images/examine.png
gz-customerSystem/src/assets/images/index.js
@@ -55,6 +55,7 @@
import down from "./down.png";
import tip from "./tip.png";
import apply from "./apply.png";
import examine from "./examine.png";
export {
  ledger_1,
@@ -104,5 +105,6 @@
  fold,
  down,
  tip,
  apply
  apply,
  examine
};
gz-customerSystem/src/components/personCard/DetailDialog.jsx
@@ -336,7 +336,7 @@
          return {
            ...res,
            value: <>
              {data[res.field].map(item => {
              {data[res.field]?.map(item => {
                return <a target="_blank">
                  <img src={link} alt="" className="title-file" />{item.name}
                </a>
gz-customerSystem/src/utils/utility.js
@@ -320,3 +320,45 @@
export function verifyEmpty(value) {
    return value?.replace(/\s+/g, '');
}
// 获取元素距离可视区域顶部、左部的距离
export const getOffset = (ele) => {
  var top = ele.offsetTop
  var left = ele.offsetLeft
  while (ele.offsetParent) {
    ele = ele.offsetParent
    if (window.navigator.userAgent.indexOf('MSTE 8') > -1) {
      top += ele.offsetTop
      left += ele.offsetLeft
    } else {
      top += ele.offsetTop + ele.clientTop
      left += ele.offsetLeft + ele.clientLeft
    }
  }
  return {
    left: left,
    top: top,
  }
}
export const getSize = () => {
  let windowW, windowH, contentH, contentW, scrollT;
  windowH = window.innerHeight;
  windowW = window.innerWidth;
  scrollT = document.documentElement.scrollTop || document.body.scrollTop;
  contentH =
    document.documentElement.scrollHeight > document.body.scrollHeight ?
      document.documentElement.scrollHeight :
      document.body.scrollHeight;
  contentW =
    document.documentElement.scrollWidth > document.body.scrollWidth ?
      document.documentElement.scrollWidth :
      document.body.scrollWidth;
  return {
    windowW,
    windowH,
    contentH,
    contentW,
    scrollT
  };
};
gz-customerSystem/src/views/register/eventFlow/component/BackModel.jsx
@@ -2,6 +2,7 @@
import { Row, Col } from 'antd';
import { Form, Input, Button, Radio, Select, Modal, Cascader, Upload, Message } from '@arco-design/web-react';
import ArcoUpload from '@/components/ArcoUpload';
import { Scrollbars } from "react-custom-scrollbars";
const RadioGroup = Radio.Group;
const FormItem = Form.Item;
@@ -36,52 +37,50 @@
  }
  return (
    <div>
      <Row style={{ margin: '0 2px 0 0' }}>
        <Col span={24}>
          <Form
            ref={formRef}
            layout='vertical'
            requiredSymbol={false}
            initialValues={{
            }}//默认值
            scrollToFirstError
          >
            <Row gutter={[32, 0]} style={{ margin: '0 -10px' }}>
              <Col span={24}>
                <FormItem
                  label={(<div style={{ display: 'flex' }}>回退理由<div className="must">必填</div></div>)}
                  field='trueName'
                  rules={[{ required: true, message: '请选择回退理由' }]}
                >
                  <RadioGroup direction='vertical' options={options}>
                  </RadioGroup>
                </FormItem>
              </Col>
              <Col span={24}>
                <FormItem
                  label=' '
                  field='luyou'
                  rules={[{ required: true, message: '回退理由不能为空' }]}
                >
                  <TextArea
                    autoSize={{ minRows: 4, maxRows: 8 }}
                    placeholder='请填写回退的具体理由'
                  />
                </FormItem>
              </Col>
              <Col span={24} className="doubleFile">
                <ArcoUpload
                  params={{
                    action: ``,
                  }}
                  field='file'
                  label='附件材料'
      <Scrollbars style={{ height: '550px' }} autoHide>
        <Form
          ref={formRef}
          layout='vertical'
          requiredSymbol={false}
          initialValues={{
          }}//默认值
          scrollToFirstError
        >
          <Row>
            <Col span={24}>
              <FormItem
                label={(<div style={{ display: 'flex' }}>回退理由<div className="must">必填</div></div>)}
                field='trueName'
                rules={[{ required: true, message: '请选择回退理由' }]}
              >
                <RadioGroup direction='vertical' options={options}>
                </RadioGroup>
              </FormItem>
            </Col>
            <Col span={24}>
              <FormItem
                label=' '
                field='luyou'
                rules={[{ required: true, message: '回退理由不能为空' }]}
              >
                <TextArea
                  autoSize={{ minRows: 4, maxRows: 8 }}
                  placeholder='请填写回退的具体理由'
                />
              </Col>
            </Row>
          </Form>
        </Col>
      </Row>
              </FormItem>
            </Col>
            <Col span={24} className="doubleFile">
              <ArcoUpload
                params={{
                  action: ``,
                }}
                field='file'
                label='附件材料'
              />
            </Col>
          </Row>
        </Form>
      </Scrollbars>
      <div className='dialogFooter'>
        <Button
          type="primary"
gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx
@@ -1,8 +1,10 @@
import React, { useState } from 'react';
import { Button, Modal, Tabs } from '@arco-design/web-react';
import React, { useState, useRef, useEffect } from 'react';
import { Button, Modal, Tabs, Badge } from '@arco-design/web-react';
import { Space } from 'antd';
import ProgressStep from '@/components/ProgressStep/VisitStep';
import BackModel from "./BackModel";
import { Scrollbars } from "react-custom-scrollbars";
import { getOffset, getSize } from '@/utils/utility';
const TabPane = Tabs.TabPane;
@@ -69,11 +71,25 @@
];
export default function EventFlow(props) {
  const scrollRef = useRef(null)
  const [backVisible, setBackVisible] = useState(false)
  const tabs = [
    { index: '1', label: '流转进度' },
    { index: '2', label: '督办信息' },
  ];
  const [height, setHeight] = useState(500)
  useEffect(() => {
    onWindowResize()
    window.addEventListener("resize", onWindowResize);
  }, [])
  const onWindowResize = () => {
    let offsetLeft = 0;
    let offsetTop = 0;
    if (scrollRef.current.container) {
      offsetLeft = getOffset(scrollRef.current.container).left;
      offsetTop = getOffset(scrollRef.current.container).top;
    }
    setHeight(getSize().windowH - offsetTop - 65)
  };
  return (
    <div className='dataSync'>
      <div className='dataSync-hasTabPage' >
@@ -86,16 +102,27 @@
              </span>
            }
          >
            <div styles={{ height: "400px" }}><ProgressStep progressData={fakeData} /></div>
            <Scrollbars
              style={{ height: height }}
              ref={scrollRef}
              autoHide
            >
              <ProgressStep progressData={fakeData} />
            </Scrollbars>
          </TabPane>
          <TabPane
            key='2'
            title={
              <span style={{ fontSize: '15px' }}>
                督办信息
                <Badge maxCount={99} count={1000} />
              </span>
            }
          >
            <Scrollbars
              style={{ height: height }}
              ref={scrollRef}
            ></Scrollbars>
          </TabPane>
        </Tabs>
gz-customerSystem/src/views/register/eventFlow/component/Examine.jsx
New file
@@ -0,0 +1,21 @@
import React from 'react'
import { Space } from 'antd';
export default function Examine(props) {
  return (
    <div className='dataSync'>
      <div className='dataSync-noBackTabPage'>
        <div className='whiteBox'>
          <Space size='small'>
            <div className='MediationInfo-subTitle' style={{ marginTop: '-8px' }}></div><h5>回退申请</h5>
          </Space>
        </div>
        <div className='whiteBox'>
          <Space size='small'>
            <div className='MediationInfo-subTitle' style={{ marginTop: '-8px' }}></div><h5>审核</h5>
          </Space>
        </div>
      </div>
    </div>
  )
}
gz-customerSystem/src/views/register/eventFlow/index.jsx
@@ -12,10 +12,11 @@
import * as $$ from '@/utils/utility';
import "@arco-themes/react-gzzz/css/arco.css";
import '../index.less';
import { Button, Steps, Tabs, Message } from '@arco-design/web-react';
import { question, register, Matter, transfer } from '@/assets/images'
import { Steps, Tabs } from '@arco-design/web-react';
import { examine, Matter, transfer } from '@/assets/images'
import EventFlow from './component/EventFlow';
import MatterDetail from '../matterDetail';
import Examine from "./component/Examine";
const Step = Steps.Step;
const TabPane = Tabs.TabPane;
@@ -36,6 +37,11 @@
            key: '2',
            isNeedStep: true,//加上这个就有进度条
        },
        {
            img: examine,
            label: '审核',
            key: '3',
        },
    ])
@@ -43,7 +49,7 @@
        <div style={{ position: 'relative' }}>
            <NewPage
                pageHead={
                    { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '办理反馈' }
                    { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '处理' }
                }
            >
                <Tabs
@@ -62,7 +68,7 @@
                            }
                        >
                            {
                                item.isNeedStep && <div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}>
                                item.isNeedStep && <div style={{ backgroundColor: '#fff', margin: '0 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}>
                                    <Steps type='navigation' current={current}>
                                        <Step title='来访登记' disabled />
                                        <Step title='事件流转' disabled />
@@ -73,12 +79,9 @@
                                    </Steps>
                                </div>
                            }
                            {tabsActive === '1' &&
                                <MatterDetail />
                            }
                            {
                                (tabsActive === '2' && current === 2) && <EventFlow />
                            }
                            {tabsActive === '1' && <MatterDetail />}
                            {tabsActive === '2' && <EventFlow />}
                            {tabsActive === '3' && <Examine />}
                        </TabPane>
                    })}
                </Tabs>
gz-customerSystem/src/views/register/index.less
@@ -96,7 +96,7 @@
    &-page {
        background-color: #fff;
        margin: 8px 8px 0px 16px;
        margin: 0px 8px 0px 16px;
        padding: 12px 16px 16px 16px;
        height: calc(100vh - 228px);
        overflow-y: scroll;
@@ -142,6 +142,16 @@
            overflow-y: scroll;
        }
    }
    &-noBackTabPage {
        margin: 0 16px 0px 16px;
        height: calc(100vh - 219px);
        .whiteBox {
            background-color: #fff;
            padding: 12px;
        }
    }
}
.applyDialog {
gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
@@ -4,6 +4,7 @@
import KeyVisits from "@/components/personCard/KeyVisits";
import * as $$ from '@/utils/utility';
import ArcoUpload from '@/components/ArcoUpload';
import { Scrollbars } from "react-custom-scrollbars";
const FormItem = Form.Item;
const Option = Select.Option;
@@ -108,7 +109,7 @@
  return (
    <div className="applyDialog">
      <div style={{ height: '590px', overflowY: 'scroll' }}>
      <Scrollbars style={{ height: '590px' }} autoHide>
        <Row gutter={[16, 16]} style={{ margin: '0 2px 0 0' }}>
          <Col span={24}>
            <Form
@@ -320,7 +321,7 @@
        <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}>
          <KeyVisits />
        </div>
      </div>
      </Scrollbars>
      <div className='dialogFooter'>
        <Button
          type="primary"
gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
@@ -16,6 +16,7 @@
import KeyVisits from "@/components/personCard/KeyVisits";
import SelectUnitDialog from "./selectUnitDialog";
import ArcoUpload from '@/components/ArcoUpload';
import { Scrollbars } from "react-custom-scrollbars";
const FormItem = Form.Item;
const Option = Select.Option;
@@ -355,7 +356,7 @@
  return (
    <div className="applyDialog">
      <div style={{ height: '590px', overflowY: 'scroll' }}>
      <Scrollbars style={{ height: '590px' }} autoHide>
        <div className="dialogTitle">当事人类型</div>
        <Row gutter={[16, 16]} style={{ margin: '0 2px 0 0' }}>
          {$$.options.personClass.map((x, t) => {
@@ -395,7 +396,7 @@
        <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}>
          <KeyVisits />
        </div>
      </div>
      </Scrollbars>
      <div className='dialogFooter'>
        <Button
          type="primary"
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -330,7 +330,7 @@
  return (
    <div className='dataSync-page' style={{ ...props.style }}>
    <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>
gz-customerSystem/yarn.lock
File was deleted