forked from gzzfw/frontEnd/gzDyh

dminyi
2024-09-10 644d6d2962d93821c45936fea9557d026673cb4e
gz-customerSystem/src/views/register/eventFlow/component/Examine.jsx
@@ -1,26 +1,106 @@
import React, { useRef } from 'react'
import React, { useRef, useEffect, useState } from 'react'
import { Row, Col, Space } from 'antd';
import { link, register } from '@/assets/images';
import { Form, Input, Button, Radio } from '@arco-design/web-react';
import ArcoUpload from '@/components/ArcoUpload';
import { Scrollbars } from "react-custom-scrollbars";
import * as $$ from '@/utils/utility';
const RadioGroup = Radio.Group;
const FormItem = Form.Item;
const TextArea = Input.TextArea;
const appUrl = $$.appUrl;
function getData(type, data) {
  let url = type === 'htsh' ? `caseTask/getReturnApplyInfo` : `caseTask/getAppearApplyInfo`
  return $$.ax.request({ url: url, type: 'get', service: 'mediate', data });
}
function submit(type, data) {
  let url = type === 'htsh' ? `caseTask/returnAudit` : `caseTask/appearAudit`
  return $$.ax.request({ url: url, type: 'post', service: 'mediate', data });
}
function getId() {
  return $$.ax.request({ url: `caseUtils/getNewTimeId`, type: 'get', service: 'utils' });
}
function delFile(id) {
  return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } });
}
export default function Examine(props) {
  const formRef = useRef();
  const infoData = {
    reason: '已经与双方当事人沟通,其中被申请方反应所谓的“个性化学习计划”费用是得到了白云区教育局的批准,而该费用收取是否合理,本部门无法判断',
    file: '广东明智教育培训机构资质合理性调查记录.pdf',
    time: '2024-7-21 12:00',
    people: '白云区新市街市场监管所',
    person: '张晓霞',
  const [infoData, setInfoData] = useState({});
  const [id, setId] = useState();
  const mainFlag = props.type == 'htsh' ? 'return' : 'appear'
  const options = [
    {
      label: '回退理由不充分',
      value: '0'
    },
    {
      label: '回退延迟',
      value: '1'
    },
    {
      label: '其他',
      value: '2'
    },
  ]
  useEffect(() => {
    getInfoData()
    getAppId()
  }, [props.type])
  //获取id
  const getAppId = async () => {
    const res = await getId()
    if (res.type) {
      setId(res.data)
    }
  }
  //回显数据
  const getInfoData = async () => {
    const res = await getData(props.type, {
      caseTaskId: props.caseTaskId
    })
    if (res.type) {
      setInfoData(res.data || {})
    }
  }
  const handleSubmit = () => {
    if (formRef.current) {
      formRef.current.validate(undefined, (errors, values) => {
        if (!errors) {
          const { file, myNoUp, ...rest } = formRef.current.getFields()
          requestSubmit({
            id,
            caseId: props.caseId,
            caseTaskId: props.caseTaskId,
            ...rest
          })
        }
      })
    }
  }
  const requestSubmit = async (data) => {
    const res = await submit(props.type, data)
    if (res.type) {
      $$.infoSuccess({ content: '提交成功!' });
    }
  }
  //删除文件
  const handleDelFile = async (id) => {
    const res = await delFile(id)
    if (res.type) {
      $$.infoSuccess({ content: '删除成功!' });
    }
  }
  return (
@@ -28,24 +108,30 @@
      <div className='dataSync-noBackTabPage'>
        <div className='whiteBox'>
          <Space size='small'>
            <div className='MediationInfo-subTitle' style={{ marginTop: '-8px' }}></div><h5>回退申请</h5>
            <div className='MediationInfo-subTitle' style={{ marginTop: '-8px' }}></div><h5>{props.type === 'htsh' ? '回退申请' : '上报申请'}</h5>
          </Space>
          <Row gutter={[16, 16]}>
            <Col span={24}>
              <div><div className="title-text">回退理由</div></div>
              <div>{infoData?.reason || '-'}</div>
              <div><div className="title-text">{props.type === 'htsh' ? '回退理由' : '上报理由'}</div></div>
              <div>{infoData[mainFlag + 'Content'] || '-'}</div>
            </Col>
            <Col span={24}>
              <div><div className="title-text">附件材料</div></div>
              <div style={{ color: '#1A6FB8' }}><img src={link} alt="" className="title-file" />{infoData?.file || '-'}</div>
              <div style={{ color: '#1A6FB8' }}>
                <img src={link} alt="" className="title-file" />{infoData?.file || '-'}
              </div>
            </Col>
            <Col span={24}>
              <div><div className="title-text">申请时间</div></div>
              <div>{infoData?.time || '-'}</div>
              <div>{infoData[mainFlag + 'Time'] || '-'}</div>
            </Col>
            <Col span={24}>
              <div><div className="title-text">申请人</div></div>
              <div>{infoData?.people}&nbsp;&nbsp;{infoData?.person}<img src={register} alt="" className="title-register" /></div>
              <div>
                {infoData[mainFlag + 'UnitName']}&nbsp;&nbsp;
                {infoData[mainFlag + 'UserName'] || '-'}
                <img src={register} alt="" className="title-register" />
              </div>
            </Col>
          </Row>
        </div>
@@ -66,48 +152,43 @@
                <Col span={24}>
                  <FormItem
                    label={(<div style={{ display: 'flex' }}>审核结果</div>)}
                    field='result'
                    field='auditResult'
                  >
                    <RadioGroup direction='vertical' options={[
                      {
                        label: '同意',
                        value: 1
                      },
                      {
                        label: '不同意',
                        value: 0
                      },
                    ]}>
                    </RadioGroup>
                    <RadioGroup
                      direction='vertical'
                      options={$$.options.auditResult}
                      onChange={(value) => {
                        if (value) {
                          const data = $$.options.auditResult.find(item => item.value === value)
                          formRef.current.setFieldValue('auditResultName', data.label)
                        } else {
                          formRef.current.setFieldValue('auditResultName', '')
                        }
                      }}
                    />
                  </FormItem>
                </Col>
                <Col span={24}>
                  <FormItem
                    label={(<div style={{ display: 'flex' }}>理由说明<div className="must">必填</div></div>)}
                    field='trueName'
                    field='myNoUp'
                    rules={[{ required: true, message: '请选择理由说明' }]}
                  >
                    <RadioGroup direction='vertical' options={[
                      {
                        label: '回退理由不充分',
                        value: '0'
                      },
                      {
                        label: '回退延迟',
                        value: '1'
                      },
                      {
                        label: '其他',
                        value: '2'
                      },
                    ]}>
                    <RadioGroup
                      direction='vertical'
                      options={options}
                      onChange={(value) => {
                        const obj = options.find(item => item.value === value)
                        formRef.current.setFieldValue('audit_content', obj.label)
                      }}
                    >
                    </RadioGroup>
                  </FormItem>
                </Col>
                <Col span={24}>
                  <FormItem
                    label=' '
                    field='luyou'
                    field='audit_content'
                    rules={[{ required: true, message: '理由不能为空' }]}
                  >
                    <TextArea
@@ -119,10 +200,11 @@
                <Col span={24} className="doubleFile">
                  <ArcoUpload
                    params={{
                      action: ``,
                      action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.caseId}&ownerId=${id}&ownerType=${props.type == 'htsh' ? '22_00018-511' : '22_00018-513'}`,
                    }}
                    field='file'
                    label='附件材料'
                    handleDelFile={handleDelFile}
                  />
                </Col>
              </Row>